signicat-client-ts
Version:
Community TypeScript client for Signicat Authentication REST API with automatic token management
138 lines (137 loc) • 5.14 kB
TypeScript
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"
}
}