View Source ExUid2.Encryption (ex_uid2 v0.2.1)
Module responsible for performing encryption and decryption of Uid2 tokens.
Summary
Types
@type encryption_error() ::
:base_64_decoding_error
| :cannot_decrypt_payload
| :invalid_master_payload
| :invalid_v2_identity_payload
| :invalid_v3_identity_payload
| :no_keyring_stored
| :not_authorized_for_master_key
| :not_authorized_for_site_key
| :token_expired
Encryption error atom.
@type secret_key() :: <<_::256>>
Functions
Link to this function
decrypt_token(token_bin, keyring, now_ms \\ :os.system_time(:millisecond))
View Source@spec decrypt_token(binary(), ExUid2.Keyring.t(), non_neg_integer()) :: {:ok, ExUid2.Uid2.t()} | {:error, encryption_error()}
@spec encrypt_v2_token( ExUid2.Uid2.t(), ExUid2.Keyring.t(), non_neg_integer(), non_neg_integer() ) :: {:ok, binary()}
@spec encrypt_v3_token( ExUid2.Uid2.t(), ExUid2.Keyring.t(), non_neg_integer(), non_neg_integer() ) :: {:ok, binary()} | {:error, any()}
@spec encrypt_v4_token( ExUid2.Uid2.t(), ExUid2.Keyring.t(), non_neg_integer(), non_neg_integer() ) :: {:ok, binary()} | {:error, any()}