stytch_ui_model

Types

pub type AuthModel {
  AuthModel(
    api_url: String,
    state: AuthState,
    method: AuthenticationMethod,
  )
}

Constructors

pub type AuthMsg {
  ApiConfirmsUnauthenticated
  ApiAuthenticatedUser(user: stytch_codecs.StytchUser)
  UserUpdatedEmail(String)
  UserPressedKeyOnEmail(String)
  UserClickedSend
  ApiSentMagicLink(
    Result(stytch_codecs.LoginOrCreateResponse, rsvp.Error),
  )
  ApiSentPasscode(
    Result(stytch_codecs.LoginOrCreateResponse, rsvp.Error),
  )
  UserUpdatedPasscode(String)
  UserClickedPasscodeSend
  ApiVerifiedPasscode(
    Result(response.Response(String), rsvp.Error),
  )
  UserClickedPasskeySignIn
  ApiStartedPasskeyLogin(
    Result(
      stytch_codecs.PasskeyAuthenticateStartResponse,
      rsvp.Error,
    ),
  )
  BrowserGotPasskeyCredential(Result(String, String))
  ApiFinishedPasskeyLogin(
    Result(stytch_codecs.PasskeySessionResponse, rsvp.Error),
  )
  UserClickedAddPasskey
  ApiStartedPasskeyRegister(
    Result(stytch_codecs.PasskeyRegisterStartResponse, rsvp.Error),
  )
  BrowserCreatedPasskeyCredential(Result(String, String))
  ApiFinishedPasskeyRegister(
    Result(stytch_codecs.PasskeySessionResponse, rsvp.Error),
  )
  UserClickedSignOut
}

Constructors

pub type AuthState {
  Authenticating
  Unauthenticated(email: String)
  WaitingForMagicLink(email: String)
  SendingPasscodeEmail(email: String)
  WaitingForPasscode(
    email: String,
    email_id: String,
    passcode: String,
  )
  VerifyingPasscode(email: String)
  PasskeyLoginInProgress
  Authenticated(
    user: stytch_codecs.StytchUser,
    passkey_state: PasskeyState,
  )
}

Constructors

  • Authenticating
  • Unauthenticated(email: String)
  • WaitingForMagicLink(email: String)
  • SendingPasscodeEmail(email: String)
  • WaitingForPasscode(
      email: String,
      email_id: String,
      passcode: String,
    )
  • VerifyingPasscode(email: String)
  • PasskeyLoginInProgress
  • Authenticated(
      user: stytch_codecs.StytchUser,
      passkey_state: PasskeyState,
    )
pub type AuthenticationMethod {
  MagicLink
  Passcode
}

Constructors

  • MagicLink
  • Passcode

Status of an in-flight passkey registration for an authenticated user. The list of already-registered passkeys is available on the user as user.webauthn_registrations.

pub type PasskeyState {
  PasskeyIdle
  StartingPasskeyRegister
  CreatingPasskeyCredential
  FinishingPasskeyRegister
  PasskeyRegisterFailed(reason: String)
}

Constructors

  • PasskeyIdle
  • StartingPasskeyRegister
  • CreatingPasskeyCredential
  • FinishingPasskeyRegister
  • PasskeyRegisterFailed(reason: String)

Values

pub fn get_me(api_url: String) -> effect.Effect(AuthMsg)
pub fn is_authenticated(model: AuthModel) -> Bool
pub fn new(
  api_url: String,
  method: AuthenticationMethod,
) -> AuthModel
pub fn update(
  model: AuthModel,
  message: AuthMsg,
) -> #(AuthModel, effect.Effect(AuthMsg))
Search Document