UNPKG

signicat-client-ts

Version:

Community TypeScript client for Signicat Authentication REST API with automatic token management

138 lines (137 loc) 5.14 kB
import type { BrokerResponseErrorDetails } from "./BrokerResponseErrorDetails"; import type { CallbackUrls } from "./CallbackUrls"; import type { MessageTransportProperties } from "./MessageTransportProperties"; import type { PaymentPrefillData } from "./PaymentPrefillData"; import type { SessionEnvironment } from "./SessionEnvironment"; import type { Subject } from "./Subject"; import type { AuthenticationProviderValue } from "./AuthenticationProviders"; /** * Session information to be returned to user */ export type SessionDataDto = { /** * Session identifier (Globally unique). */ id?: string | null; /** * The specified account ID used for the session. */ accountId: string; /** * The URL which you should direct your end-user to for performing the authentication. */ authenticationUrl?: string | null; /** * The URL that allows to check the authentication status. */ statusUrl?: string | null; /** * The current status of the session. */ status?: SessionDataDto.status | null; /** * The status detail if the response is an error. */ statusDetail?: string | null; /** * The IdP which was used by the end-user to authenticate. */ provider?: AuthenticationProviderValue | null; subject?: Subject; callbackUrls?: CallbackUrls; /** * The idp data. */ idpData?: Record<string, string> | null; environment?: SessionEnvironment; error?: BrokerResponseErrorDetails; messageTransportProperties?: MessageTransportProperties; /** * A set of support optional tags to group and filter webhooks. */ tags?: Array<string> | null; paymentPrefillData?: PaymentPrefillData; /** * The Level of Assurance used in the authentication. */ loa?: string | null; /** * A list of Identity Providers (IdPs) that can be used for authentication. * If not specified, the end-user will be able to choose from all IdPs associated with your Signicat account. * The maximum length for each Provider is 30. * * @example ["nbid", "sbid", "idin"] // Norwegian BankID, Swedish BankID, iDIN */ allowedProviders?: Array<AuthenticationProviderValue> | null; /** * The desired language for the UI. Expected format ISO 639-1. * If the requested language is not available, it will automatically default to English (en). * Some IdPs may have a different fallback language due to regional considerations. */ language?: string | null; /** * The selected flow used for this specific authentication session. * To learn more about using the ```headless``` flow with Swedish BankID, please refer to <a href="/identity-methods/sbid/integration-guide/auth-rest-api/headless/">this example</a>. */ flow: SessionDataDto.flow; /** * The themeId you want to use for this specific authentication session. * If not specified, the default theme for your account will be used. */ themeId?: string | null; /** * The attributes you wish to get back from the authentication of the end-user. * To find a list of which attributes can be requested, please see documentation for that specific ID method which * can be found on <a href="https://developer.signicat.com/identity-methods/">https://developer.signicat.com/identity-methods/</a>. * * Defaults to empty. */ requestedAttributes: Array<string>; /** * An external reference for you, will be returned as a URL parameter on callbackUrls. */ externalReference?: string | null; /** * An usage external reference for you to group your billing. */ usageReference?: string | null; /** * Lifetime of session in seconds (Default is 1200 seconds). It has a soft-minimum value of 300 seconds, which means if the value set is * less then 300, it will be automatically set to 300 seconds. */ sessionLifetime?: number | null; /** * This specifies the domain you want to use for this specific session. * The domain will be visible in the end-user's browser. * This domain needs to be correctly configured on your account! */ requestDomain?: string | null; /** * DateTime calculated field expiry of session. */ expiresAt?: string | null; }; export declare namespace SessionDataDto { /** * The current status of the session. */ enum status { CREATED = "CREATED", SUCCESS = "SUCCESS", ERROR = "ERROR", ABORT = "ABORT", CANCELLED = "CANCELLED", WAITING_FOR_USER = "WAITING_FOR_USER", EXPIRED = "EXPIRED", INVALID = "INVALID" } /** * The selected flow used for this specific authentication session. * To learn more about using the ```headless``` flow with Swedish BankID, please refer to <a href="/identity-methods/sbid/integration-guide/auth-rest-api/headless/">this example</a>. */ enum flow { HEADLESS = "headless", REDIRECT = "redirect", EMBEDDED = "embedded" } }