ExStoneOpenbank v0.1.2 ExStoneOpenbank.Webhooks.StoneJWTConfig View Source

A webhook arrives as an encrypted token (JWE). After decrypting it we get a JWT signed by Stone's public keys. We must validate its signature so that we can use the payload.

Link to this section Summary

Link to this section Functions

Link to this function

generate_and_sign(extra_claims \\ %{}, key \\ __default_signer__())

View Source
generate_and_sign(Joken.claims(), Joken.signer_arg()) ::
  {:ok, Joken.bearer_token(), Joken.claims()} | {:error, Joken.error_reason()}

Combines generate_claims/1 and encode_and_sign/2

Link to this function

generate_and_sign!(extra_claims \\ %{}, key \\ __default_signer__())

View Source
generate_and_sign!(Joken.claims(), Joken.signer_arg()) ::
  Joken.bearer_token() | no_return()

Same as generate_and_sign/2 but raises if error

Link to this function

verify_and_validate(bearer_token, key \\ __default_signer__(), context \\ %{})

View Source
verify_and_validate(Joken.bearer_token(), Joken.signer_arg(), term()) ::
  {:ok, Joken.claims()} | {:error, Joken.error_reason()}

Combines verify/2 and validate/1

Link to this function

verify_and_validate!(bearer_token, key \\ __default_signer__(), context \\ %{})

View Source
verify_and_validate!(Joken.bearer_token(), Joken.signer_arg(), term()) ::
  Joken.claims() | no_return()

Same as verify_and_validate/2 but raises if error