feat: extract the hostname of devstar domain for local SSH key naming
This commit is contained in:
14
src/user.ts
14
src/user.ts
@@ -14,11 +14,21 @@ export default class User {
|
|||||||
private userToken: string | undefined;
|
private userToken: string | undefined;
|
||||||
private usernameKey: string = 'devstarUsername'
|
private usernameKey: string = 'devstarUsername'
|
||||||
private userTokenKey: string = 'devstarUserToken'
|
private userTokenKey: string = 'devstarUserToken'
|
||||||
|
private devstarHostname: string;
|
||||||
|
|
||||||
constructor(context: vscode.ExtensionContext) {
|
constructor(context: vscode.ExtensionContext) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.username = this.context.globalState.get(this.usernameKey);
|
this.username = this.context.globalState.get(this.usernameKey);
|
||||||
this.userToken = this.context.globalState.get(this.userTokenKey);
|
this.userToken = this.context.globalState.get(this.userTokenKey);
|
||||||
|
|
||||||
|
// 提取devstar domain的主域名,用于本地ssh key的命名
|
||||||
|
let devstarDomainFromConfig: string|undefined;
|
||||||
|
let devstarDomainURL: string;
|
||||||
|
devstarDomainFromConfig = vscode.workspace.getConfiguration('devstar').get('devstarDomain')
|
||||||
|
// 如果没有配置devstar domain,则默认domain为https://devstar.cn
|
||||||
|
devstarDomainURL = (devstarDomainFromConfig === undefined || devstarDomainFromConfig === "") ? 'https://devstar.cn' : devstarDomainFromConfig;
|
||||||
|
let parsedUrl = new URL(devstarDomainURL);
|
||||||
|
this.devstarHostname = parsedUrl.hostname.replace(/\./g, '_'); //提取hostname,并用下划线替换.
|
||||||
}
|
}
|
||||||
|
|
||||||
private isLogged() {
|
private isLogged() {
|
||||||
@@ -61,7 +71,7 @@ export default class User {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
return path.join(os.homedir(), '.ssh', `id_rsa_${this.username}`)
|
return path.join(os.homedir(), '.ssh', `id_rsa_${this.username}_${this.devstarHostname}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
public getUserPublicKeyPath(): string {
|
public getUserPublicKeyPath(): string {
|
||||||
@@ -69,7 +79,7 @@ export default class User {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
return path.join(os.homedir(), '.ssh', `id_rsa_${this.username}.pub`)
|
return path.join(os.homedir(), '.ssh', `id_rsa_${this.username}_${this.devstarHostname}.pub`)
|
||||||
}
|
}
|
||||||
|
|
||||||
public existUserPublicKey(): boolean {
|
public existUserPublicKey(): boolean {
|
||||||
|
Reference in New Issue
Block a user