Merge branch 'master' of github.com:Eugeny/terminus

This commit is contained in:
Eugene Pankov
2021-03-10 20:51:53 +01:00
10 changed files with 337 additions and 285 deletions

View File

@@ -5,14 +5,26 @@ import * as keytar from 'keytar'
@Injectable({ providedIn: 'root' })
export class PasswordStorageService {
async savePassword (connection: SSHConnection, password: string): Promise<void> {
return keytar.setPassword(`ssh@${connection.host}`, connection.user, password)
let key = `ssh@${connection.host}`
if (connection.port) {
key = `ssh@${connection.host}:${connection.port}`
}
return keytar.setPassword(key, connection.user, password)
}
async deletePassword (connection: SSHConnection): Promise<void> {
await keytar.deletePassword(`ssh@${connection.host}`, connection.user)
let key = `ssh@${connection.host}`
if (connection.port) {
key = `ssh@${connection.host}:${connection.port}`
}
await keytar.deletePassword(key, connection.user)
}
async loadPassword (connection: SSHConnection): Promise<string|null> {
return keytar.getPassword(`ssh@${connection.host}`, connection.user)
let key = `ssh@${connection.host}`
if (connection.port) {
key = `ssh@${connection.host}:${connection.port}`
}
return keytar.getPassword(key, connection.user)
}
}