Authenticate
Obtain a one-time user authorization key to enable wallet access.
This feature is currently in development and will be available in an upcoming release.
This endpoint can optionally return the authorization key using Hybrid Public Key Encryption (HPKE) by specifying encryption details in the request body. The following HPKE configuration is supported:
- KEM (Key Encapsulation Mechanism): DHKEM_P256_HKDF_SHA256
- KDF (Key Derivation Function): HKDF_SHA256
- AEAD (Authenticated Encryption with Associated Data): CHACHA20_POLY1305
- Mode: BASE
If encryption details are included in the request, the response authorization_key
will be ciphertext and must be decrypted.
Headers
ID of your Privy app.
Request authorization signature. If multiple signatures are required, they should be comma separated.
Body
Currently only supports HPKE
(Hybrid Public Key Encryption) or NONE
. The request will still be
protected by TLS.
Base64-encoded public key of the recipient who will decrypt the session key. This key must be
generated securely and kept confidential. If encryption_type
is HPKE
, this field is required.
Response
Authorization key corresponding to the user’s current authentication session. This is a one-time use session key. If encryption details are specified in the request, this will be ciphertext requiring decryption.
The user ID associated with the authenticated user. This is a unique identifier that corresponds
one-to-one with each unique sub
identifier in the user’s authentication token.
The wallet ID associated with the authenticated user.
Will be HPKE
to indicate Hybrid Public Key Encryption was used, or NONE
if the app opts out of
advanced encryption. This will only be populated if encryption details are specified in the
request.
Base64-encoded ephemeral public key used in the HPKE encryption process. Required for decryption. This will only be populated if encryption details are specified in the request.
Was this page helpful?