set private key on login

This commit is contained in:
Kyle Spearrin 2017-04-20 10:29:18 -04:00
parent 51ae3fc62f
commit 458de2d2e0
4 changed files with 8 additions and 3 deletions

View File

@ -9,7 +9,7 @@ namespace Bit.App.Abstractions
CryptoKey Key { get; set; } CryptoKey Key { get; set; }
CryptoKey PreviousKey { get; } CryptoKey PreviousKey { get; }
bool KeyChanged { get; } bool KeyChanged { get; }
byte[] PrivateKey { get; set; } byte[] PrivateKey { get; }
IDictionary<Guid, CryptoKey> OrgKeys { get; set; } IDictionary<Guid, CryptoKey> OrgKeys { get; set; }
void SetPrivateKey(CipherString privateKeyEnc, CryptoKey key); void SetPrivateKey(CipherString privateKeyEnc, CryptoKey key);

View File

@ -11,7 +11,7 @@ namespace Bit.App.Models
public CipherString(string encryptedString) public CipherString(string encryptedString)
{ {
if(string.IsNullOrWhiteSpace(encryptedString) || !encryptedString.Contains("|")) if(string.IsNullOrWhiteSpace(encryptedString))
{ {
throw new ArgumentException(nameof(encryptedString)); throw new ArgumentException(nameof(encryptedString));
} }

View File

@ -263,6 +263,11 @@ namespace Bit.App.Services
private void ProcessLoginSuccess(CryptoKey key, TokenResponse response) private void ProcessLoginSuccess(CryptoKey key, TokenResponse response)
{ {
if(response.PrivateKey != null)
{
_cryptoService.SetPrivateKey(new CipherString(response.PrivateKey), key);
}
_cryptoService.Key = key; _cryptoService.Key = key;
_tokenService.Token = response.AccessToken; _tokenService.Token = response.AccessToken;
_tokenService.RefreshToken = response.RefreshToken; _tokenService.RefreshToken = response.RefreshToken;

View File

@ -112,7 +112,7 @@ namespace Bit.App.Services
return _privateKey; return _privateKey;
} }
set private set
{ {
if(value != null) if(value != null)
{ {