Skip to main content
Version: Latest (4.1.0)

Login

The login journey (journey IDs login and saml_idp_login) signs a user in to an application. It starts with an OAuth 2.0 / OpenID Connect authorization request of the application and ends with a token or authorization code for the application.

How login works​

Most steps run only when needed. Whether MFA, a password change or a consent is required depends on the verification options and authorization settings of the application and on the user.

Injection points​

Injection pointPositionTypical use
after_loginright after the user signed inFraud or eligibility check against your systems
after_precheck_evalafter cidaas evaluated its checksContractual checks, e.g. is the contract active
after_auth_before_mfabefore multi-factor authenticationYour own risk signal: require MFA
after_consent_before_tokenafter the consents, before group selectionAn additional business consent
pre_token_issueimmediately before the token is issuedPartner consent, a value for the token

Your tasks can require more (for example MFA), but they cannot skip a step that cidaas requires.

Context variables​

VariableTypeMeaningWrite
substringUser ID. Available after the user signed in.no
client_idstringApplication that started the loginno
client_typestringClient type of the applicationno
identifierstringIdentifier the user entered. Personal data.no
usernameTypestringKind of identifier, e.g. email or mobile numberno
providerstringOwn credentials or the social / enterprise provider usedno
amr_valuesarray of stringAuthentication methods completed (see AMR values)no
lastAuthTimetimestampTime of the last authentication in this loginno
verificationMethodUsedstringVerification method used in the last authentication stepno
verificationMediumstringMedium used for verificationno
verificationCompletedbooleanEmail or mobile number verification completedno
scopesarray of stringScopes requested by the applicationno
acr_valuesstringRequested authentication context classno
authorization_detailsarray of objectRequested Rich Authorization Request detailsno
promptstringOIDC prompt parameterno
acceptLanguagestringLanguage preferences of the browserno
rememberMebooleanThe user chose “remember me”restrict only — true → false
smartMfaRequiredbooleanMFA is required based on the risk evaluationrestrict only — false → true
groupVerificationResultobjectResult of the group / role check (verified)no
selectedGroupId, selectedGroupTypestringGroup the user selectedno
c_*anyYour own variablesyes

A bank wants the user to confirm that account data may be shared with a partner service, but only if this consent is still missing. The consent ID must be in the token.

Injection pointTaskConfiguration
pre_token_issueautomated, Web API consent-requiredInput: sub. Output: c_consentRequired
pre_token_issueinteractive task partner_consent, page c_partner_consentPre condition ctx.c_consentRequired == true. The page shows the consent text and sends the decision to the Web API consent-create via cidaas.
—completion by the bank's APIAfter consent-create, the bank's API completes the step with the consent ID. Output: c_consentId — set by the bank's system, not by the page.
—claim mappingc_consentId is mapped into a token claim

MFA and all other checks of cidaas have already run when the consent page appears.

Next steps​

Need Support?

Please contact us directly on our support page or reach out to cidaas support at [email protected].