Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SessionService

Hierarchy

  • SessionService

Index

Constructors

constructor

Properties

Private currentFan

currentFan: Fan

Private seatersApi

seatersApi: SeatersApi

Private sessionStrategy

sessionStrategy: SESSION_STRATEGY

Private sessionToken

sessionToken: string = ""

Methods

Private applyExpireSessionStrategy

  • Parameters

    Returns void

Private applyExtendSessionStrategy

  • Parameters

    Returns void

checkStoredTokenValidity

  • checkStoredTokenValidity(authToken: StoredToken, applicationName: string, deviceId?: string, applicationId?: string): boolean
  • Parameters

    • authToken: StoredToken
    • applicationName: string
    • Optional deviceId: string
    • Optional applicationId: string

    Returns boolean

configureSession

  • Configure the given session to be used. This method is intended for transitional phase where the SDK is not the one doing the login process (Seaters FanWebApp)

    Parameters

    Returns void

doEmailPasswordLogin

  • doEmailPasswordLogin(email: string, password: string, mfaToken?: string): Promise<Session>
  • Log in using an email/password

    Parameters

    • email: string

      valid email or seaters username

    • password: string

      plain text password

    • Optional mfaToken: string

      authenticator token

    Returns Promise<Session>

doEmailPasswordSignUp

  • doEmailPasswordSignUp(email: string, password: string, firstname: string, lastname: string, language: string, redirect: string, fanGroupReference: string): Promise<Session>
  • Parameters

    • email: string
    • password: string
    • firstname: string
    • lastname: string
    • language: string
    • redirect: string
    • fanGroupReference: string

    Returns Promise<Session>

doEmailReset

  • doEmailReset(email: string): Promise<any>
  • Change the email associated to the current user

    Parameters

    • email: string

      new email address

    Returns Promise<any>

doEmailSignUp

  • doEmailSignUp(email: string, fanGroupId: string, language?: string, origin?: string): Promise<Session>
  • Parameters

    • email: string
    • fanGroupId: string
    • Optional language: string
    • Optional origin: string

    Returns Promise<Session>

doEmailValidation

  • doEmailValidation(email: string, code: string): Promise<Fan>
  • Validate an email by providing a confirmation code

    see

    VALIDATION_ERRORS

    Parameters

    • email: string

      The email that you want to validate

    • code: string

      The code that validates the email

    Returns Promise<Fan>

    a Promise that resolves with an updated fan or rejects with a VALIDATION_ERRORS

doLogout

  • doLogout(): void
  • Returns void

doMobilePhoneNumberValidation

  • doMobilePhoneNumberValidation(phone: PhoneNumber, code: string): Promise<Fan>
  • Validate a phone number by providing a confirmation code

    see

    VALIDATION_ERRORS

    Parameters

    • phone: PhoneNumber

      The phone number that you want to validate

    • code: string

      The code that validates the email

    Returns Promise<Fan>

    a Promise that resolves with an updated fan or rejects with a VALIDATION_ERRORS

doOAuthCodeLogin

  • doOAuthCodeLogin(oauthProvider: string, code: string): Promise<Fan>
  • deprecated

    Use doOAuthCodeLoginV2 instead to retrieve the session

    Parameters

    • oauthProvider: string
    • code: string

    Returns Promise<Fan>

doOAuthCodeLoginV2

  • doOAuthCodeLoginV2(oauthProvider: string, code: string): Promise<Session>
  • Parameters

    • oauthProvider: string
    • code: string

    Returns Promise<Session>

doPasswordReset

  • doPasswordReset(email: string): Promise<any>
  • Reset the user password based on the email

    Parameters

    • email: string

      email address

    Returns Promise<any>

Private doRefreshTokenLogin

  • doRefreshTokenLogin(refreshToken: string, mfaToken?: string): Promise<Session>
  • Parameters

    • refreshToken: string
    • Optional mfaToken: string

    Returns Promise<Session>

doStoredTokenLogin

  • doStoredTokenLogin(storedToken: string, mfaToken?: string): Promise<Session>
  • Log in using a stored token (long term validity)

    Parameters

    • storedToken: string

      long term token

    • Optional mfaToken: string

      authenticator token

    Returns Promise<Session>

Private finishLogin

obtainStoredToken

  • obtainStoredToken(applicationName: string, deviceId?: string, applicationId?: string): Promise<StoredToken>
  • Checks if there are any valid stored tokens and returns the first one. If there are none it will create a new token and return this

    Parameters

    • applicationName: string

      the name of the application, e.g. "Seaters Embedded"

    • Optional deviceId: string

      defaults to "SDK-device-"

    • Optional applicationId: string

      defaults to "SDK-app-"

    Returns Promise<StoredToken>

setCurrentFan

  • setCurrentFan(): Promise<Fan>
  • Returns Promise<Fan>

setSession

  • Parameters

    Returns void

updateCurrentFan

  • updateCurrentFan(fan: Fan): Promise<Fan>
  • Manually configure the fan (in case the current fan was changed / retrieved externally)

    Parameters

    • fan: Fan

      latest fan object

    Returns Promise<Fan>

updatePassword

  • Update password

    Parameters

    Returns Promise<Fan>

Private waitUntilMillisBeforeSessionExpires

  • waitUntilMillisBeforeSessionExpires(s: SessionToken, msBefore: number): Promise<any>
  • Parameters

    Returns Promise<any>

whoami

  • whoami(): Fan
  • Returns Fan

Generated using TypeDoc