AshAuthentication.Errors.ConfirmationRequired exception (ash_authentication v4.14.0)

View Source

An OAuth2/OIDC sign-in presented an email matching an existing account, but the email could not be trusted to prove ownership.

Raised internally to abort the sign-in's upsert without mutating the existing account. The strategy's on_untrusted_email_match is :confirm, so the caller issues a confirmation to the existing account's email and links the provider identity only once the recipient proves ownership.

The user, user_info and oauth_tokens fields are for internal use by the caller that issues the confirmation - they are never surfaced to the end user, to avoid leaking which email addresses are registered.

Summary

Types

t()

@type t() :: Exception.t()

Functions

exception(args)

@spec exception(opts :: Keyword.t()) ::
  %AshAuthentication.Errors.ConfirmationRequired{
    __exception__: true,
    bread_crumbs: term(),
    class: term(),
    oauth_tokens: term(),
    path: term(),
    splode: term(),
    stacktrace: term(),
    strategy: term(),
    user: term(),
    user_info: term(),
    vars: term()
  }

Create an Elixir.AshAuthentication.Errors.ConfirmationRequired without raising it.

Keys

  • :strategy
  • :user
  • :user_info
  • :oauth_tokens