Interface: SSKSPassword
Properties
keyStorageURL
keyStorageURL:
string
keyStorageURL with which this plugin instance was created. URL of the SSKS Identity Key Storage to which it should connect.
keyStore
keyStore:
KeyStorePassword
Manual SSKS Identity Key Storage interface. For advanced use.
Methods
changeIdentityPassword()
changeIdentityPassword(
args
: {currentPassword
:string
;newPassword
:string
;userId
:string
; }):Promise
<string
>
Change the password of a Seald account.
Warning: this will change the SSKS ID of the stored identity. Returns the new SSKS ID of the stored identity, or null
if the password was not changed (in case newPassword === currentPassword
).
Parameters
args
currentPassword
string
The user's current password.
newPassword
string
The next password
userId
string
The unique ID of the current user inside your app. It will be used to identify this user. Max 64 characters long.
Returns
Promise
<string
>
retrieveIdentity()
retrieveIdentity(
args
: {password
:string
;rawEncryptionKey
:string
;rawStorageKey
:string
;userId
:string
; }):Promise
<AccountInfo
>
Retrieve the Seald account previously created with initiateIdentity
.
You must either pass the password
argument, or both rawStorageKey
and rawEncryptionKey
.
If you use an incorrect password multiple times, the server may throttle your requests. In this case, you will receive an error Request throttled, retry after {N}s
, with {N}
the number of seconds during which you cannot try again.
Parameters
args
password
string
The user's password. It will be used to encrypt / decrypt the stored identity keys. You must set either the password
argument, or both rawStorageKey
and rawEncryptionKey
.
rawEncryptionKey
string
The raw encryption key used to encrypt / decrypt the stored identity keys. This MUST be the Base64 string encoding of a cryptographically random buffer of 64 bytes. You must set either the password
argument, or both rawStorageKey
and rawEncryptionKey
.
rawStorageKey
string
The key under which identity keys are stored. This MUST be a secret known only to this user of your app, and never to other users, as learning it will allow deleting the stored identities. Useful to change if you want to store multiple identities for the same userId
. Allowed characters : A-Za-z0-9+/=-_@.
. Max length is 256 characters. You must set either the password
argument, or both rawStorageKey
and rawEncryptionKey
.
userId
string
The unique ID of the current user inside your app. It will be used to identify this user. Max 64 characters long.
Returns
Promise
<AccountInfo
>
saveIdentity()
saveIdentity(
args
: {identity
:ArrayBuffer
|Uint8Array
<ArrayBufferLike
> |Buffer
<ArrayBufferLike
>;password
:string
;rawEncryptionKey
:string
;rawStorageKey
:string
;userId
:string
; }):Promise
<string
>
Save the Seald account to SSKS.
You must either pass the password
argument, or both rawStorageKey
and rawEncryptionKey
.
Returns the SSKS ID of the stored identity, which can be used by your backend to manage it.
Parameters
args
identity
ArrayBuffer
| Uint8Array
<ArrayBufferLike
> | Buffer
<ArrayBufferLike
>
Optional, the identity to save. If no identity is given, current one is saved.
password
string
The user's password. It will be used to encrypt / decrypt the stored identity keys. You must set either the password
argument, or both rawStorageKey
and rawEncryptionKey
.
rawEncryptionKey
string
The raw encryption key used to encrypt / decrypt the stored identity keys. This MUST be the Base64 string encoding of a cryptographically random buffer of 64 bytes. You must set either the password
argument, or both rawStorageKey
and rawEncryptionKey
.
rawStorageKey
string
The key under which identity keys are stored. This MUST be a secret known only to this user of your app, and never to other users, as learning it will allow deleting the stored identities. Useful to change if you want to store multiple identities for the same userId
. Allowed characters : A-Za-z0-9+/=-_@.
. Max length is 256 characters. You must set either the password
argument, or both rawStorageKey
and rawEncryptionKey
.
userId
string
The unique ID of the current user inside your app. It will be used to identify this user. Max 64 characters long.
Returns
Promise
<string
>