pages: [
{
path: '/auth/flow/{{FLOW}}/airlock-2fa/challenge',
pageSettings: {
showAppApprovalLink: true,
// supported options are 'ONLINE_QR_CODE', 'ONE_TOUCH' and 'ONE_TOUCH_MULTI_NUMBERED_CHALLENGE'
factor: 'ONLINE_QR_CODE'
}
},
{
path: '/auth/flow/{{FLOW}}/airlock-2fa/challenge-only',
pageSettings: {
showAppApprovalLink: true,
// supported options are 'ONLINE_QR_CODE', 'ONE_TOUCH' and 'ONE_TOUCH_MULTI_NUMBERED_CHALLENGE'
factor: 'ONLINE_QR_CODE'
}
},
{
path: '/auth/flow/{{FLOW}}/airlock-2fa/device/selection',
additionalAttributes: {
'deviceChoices': [
{
'id': 'id1',
'displayName': 'My Device One',
'deviceType': 'ANDROID'
},
{
'id': 'id2',
'displayName': 'My iPhone',
'deviceType': 'IOS'
}
]
}
},
{
path: '/auth/flow/{{FLOW}}/airlock-2fa/device/edit',
additionalAttributes: {
displayName: 'My Phone'
}
},
{
path: '/auth/flow/{{FLOW}}/cronto/challenge',
additionalAttributes: {
'challenge': {
'onlineValidation': true,
'pushed': true,
'pushDevices': [{
'label': 'My iPhone',
// the platform property is only used if label is set to null
'platform': 'IOS'
}]
}
}
},
{
path: '/auth/flow/{{FLOW}}/cronto/selection',
additionalAttributes: {
'deviceChoices': [
{
'id': 'cronto1',
'label': 'Work phone (iOS)',
'defaultDevice': false
},
{
'id': 'cronto2',
'label': 'Private phone (Android)',
'defaultDevice': true
}
]
}
},
{
path: '/auth/flow/{{FLOW}}/password',
pageSettings: {
publicSelfServiceLink: '{{SPA}}/self-service/flow/default',
userSelfRegistrationLink: '{{SPA}}/registration/flow/default',
// these buttons can be used to include a custom auth flow
additionalAuthenticationButtons: {
targets: [
{
applicationId: 'customflow'
}
]
}
}
},
{
path: '/auth/flow/{{FLOW}}/password-only',
pageSettings: {
publicSelfServiceLink: '{{SPA}}/self-service/flow/default',
userSelfRegistrationLink: '{{SPA}}/registration/flow/default',
// these buttons can be used to include a custom auth flow
additionalAuthenticationButtons: {
targets: [
{
applicationId: 'customflow'
}
]
}
}
},
{
path: '/auth/flow/{{FLOW}}/password/change',
pageSettings: {
oldPasswordRequired: false
}
},
{
path: '/auth/flow/{{FLOW}}/mtan',
additionalAttributes: {
resendPossible: true,
phoneNumber: '+41791234567'
}
},
{
path: '/auth/flow/{{FLOW}}/mtan/selection',
additionalAttributes: {
'numberChoices': [
{
'id': '1',
'number': '+41791234567',
'defaultNumber': false
},
{
'id': '2',
'number': '+41769876543',
'label': 'My Phone',
'defaultDevice': true
}
]
}
},
{
path: '/auth/flow/{{FLOW}}/mtan/registration/verification/otp',
additionalAttributes: {
resendPossible: true,
phoneNumber: '+41791234567'
}
},
{
path: '/auth/flow/{{FLOW}}/selection',
additionalAttributes: {
selectionInfo: {
options: ['MTAN', 'CRONTO', 'AIRLOCK_2FA'],
lastSelected: 'AIRLOCK_2FA'
}
}
},
{
path: '/auth/flow/{{FLOW}}/migration-selection',
additionalAttributes: {
migrationInfo: {
options: ['MTAN', 'CRONTO', 'AIRLOCK_2FA'],
skipPossible: true,
rejectPossible: true,
notAfter: '2025-02-06T09:00:00.000+01:00'
}
}
},
{
path: '/auth/flow/{{FLOW}}/airlock-2fa/additional-activation',
pageSettings: {
showAppDeviceActivationLink: true
}
},
{
path: '/auth/flow/{{FLOW}}/airlock-2fa/migration',
pageSettings: {
showAppDeviceActivationLink: true
}
},
{
path: '/auth/flow/{{FLOW}}/airlock-2fa/usernameless',
pageSettings: {
publicSelfServiceLink: '{{SPA}}/self-service/flow/default',
userSelfRegistrationLink: '{{SPA}}/registration/flow/default',
// these buttons can be used to include a custom auth flow
additionalAuthenticationButtons: {
targets: [
{
applicationId: 'customflow'
}
]
}
}
},
{
path: '/auth/flow/{{FLOW}}/identification',
additionalAttributes: {
captcha: {
// supported types are 'RE_CAPTCHA' and 'H_CAPTCHA' - the property 'key' can also be set to use your own site key
type: 'RE_CAPTCHA'
}
}
},
{
path: '/auth/flow/{{FLOW}}/message',
additionalAttributes: {
messageId: 'default'
}
},
{
path: 'auth/flow/{{FLOW}}/matrix',
additionalAttributes: {
matrixChallenges: ['A13']
}
},
{
path: '/auth/flow/{{FLOW}}/oauth2/consent',
additionalAttributes: {
grantableScopes: [
{
scope: 'email',
granted: true,
updatedAt: '2024-10-23'
},
{
scope: 'phone',
granted: false,
updatedAt: '2023-08-15'
},
{
scope: 'address',
granted: false
}
]
}
},
{
path: '/auth/flow/{{FLOW}}/secret-questions',
additionalAttributes: {
secretQuestionsInfo: {
missingAnswers: 3,
questions: [
{
id: 'secretquestion.mother',
provisioned: false
},
{
id: 'secretquestion.pet',
provisioned: false
},
{
id: 'secretquestion.friend',
provisioned: false
},
{
id: 'secretquestion.teacher',
provisioned: false
}
]
}
}
},
{
path: '/auth/flow/{{FLOW}}/email/otp',
additionalAttributes: {
resendPossible: true,
emailAddress: 'john.doe@example.com'
}
},
{
path: '/auth/flow/{{FLOW}}/email/verification/otp/check',
additionalAttributes: {
emailAddress: 'john.doe@example.com'
}
},
{
path: '/auth/flow/{{FLOW}}/username',
pageSettings: {
publicSelfServiceLink: '{{SPA}}/self-service/flow/default',
userSelfRegistrationLink: '{{SPA}}/registration/flow/default',
// these buttons can be used to include a custom auth flow
additionalAuthenticationButtons: {
targets: [
{
applicationId: 'customflow'
}
]
}
},
additionalAttributes: {
captcha: {
// supported types are 'RE_CAPTCHA' and 'H_CAPTCHA' - the property 'key' can also be set to use your own site key
type: 'RE_CAPTCHA'
}
}
},
{
path: '/self-service/flow/{{FLOW}}/approval/airlock-2fa/challenge',
pageSettings: {
showAppApprovalLink: true,
// supported factors are 'ONLINE_QR_CODE' and 'ONE_TOUCH'
factor: 'ONLINE_QR_CODE'
}
},
{
path: '/self-service/flow/{{FLOW}}/approval/airlock-2fa/challenge-only',
pageSettings: {
showAppApprovalLink: true,
// supported factors are 'ONLINE_QR_CODE' and 'ONE_TOUCH'
factor: 'ONLINE_QR_CODE'
}
},
{
path: '/self-service/flow/{{FLOW}}/approval/airlock-2fa/selection',
additionalAttributes: {
'deviceChoices': [
{
'id': 'id1',
'displayName': 'My Device One',
'deviceType': 'ANDROID'
},
{
'id': 'id2',
'displayName': 'My iPhone',
'deviceType': 'IOS'
}
]
}
},
{
path: '/self-service/flow/{{FLOW}}/approval/cronto/challenge',
additionalAttributes: {
'challenge': {
'onlineValidation': true,
'pushed': true,
'pushDevices': [{
'label': 'My iPhone',
// the platform property is only used if label is set to null
'platform': 'IOS'
}]
}
}
},
{
path: '/self-service/flow/{{FLOW}}/approval/cronto/selection',
additionalAttributes: {
'deviceChoices': [
{
'id': 'cronto1',
'label': 'Work phone (iOS)',
'defaultDevice': false
},
{
'id': 'cronto2',
'label': 'Private phone (Android)',
'defaultDevice': true
}
]
}
},
{
path: '/self-service/flow/{{FLOW}}/approval/matrix',
additionalAttributes: {
matrixChallenges: ['A13']
}
},
{
path: '/self-service/flow/{{FLOW}}/approval/mtan',
additionalAttributes: {
phoneNumber: '+41791234567'
}
},
{
path: '/self-service/flow/{{FLOW}}/approval/mtan/selection',
additionalAttributes: {
'numberChoices': [
{
'id': '1',
'number': '+41791234567',
'defaultNumber': false
},
{
'id': '2',
'number': '+41769876543',
'label': 'My Phone',
'defaultDevice': true
}
]
}
},
{
path: '/self-service/flow/{{FLOW}}/selection',
additionalAttributes: {
selectionInfo: {
options: ['MTAN', 'CRONTO', 'AIRLOCK_2FA'],
lastSelected: 'AIRLOCK_2FA'
}
}
},
{
path: '/self-service/flow/{{FLOW}}/message',
additionalAttributes: {
messageId: 'default'
}
},
{
path: '/self-service/flow/{{FLOW}}/identification',
additionalAttributes: {
captcha: {
// supported types are 'RE_CAPTCHA' and 'H_CAPTCHA' - the property 'key' can also be set to use your own site key
type: 'RE_CAPTCHA'
}
}
},
{
path: '/self-service/flow/{{FLOW}}/username',
additionalAttributes: {
captcha: {
// supported types are 'RE_CAPTCHA' and 'H_CAPTCHA' - the property 'key' can also be set to use your own site key
type: 'RE_CAPTCHA'
}
}
},
{
path: '/self-service/flow/{{FLOW}}/secret-questions',
additionalAttributes: {
secretQuestions: ['secretquestion.pet', 'secretquestion.mother', 'secretquestion.teacher', 'secretquestion.friend']
}
},
{
path: '/registration/flow/{{FLOW}}/data/example',
additionalAttributes: {
captcha: {
// supported types are 'RE_CAPTCHA' and 'H_CAPTCHA' - the property 'key' can also be set to use your own site key
type: 'H_CAPTCHA'
}
}
},
{
path: '/registration/flow/{{FLOW}}/message',
additionalAttributes: {
messageId: 'default'
}
},
{
path: '/registration/flow/{{FLOW}}/airlock-2fa/device/add',
pageSettings: {
showAppDeviceActivationLink: true
}
},
{
path: '/registration/flow/{{FLOW}}/verification/email',
additionalAttributes: {
captcha: null,
emailAddress: 'john.doe@example.com'
}
},
{
path: '/registration/flow/{{FLOW}}/verification/phone-number',
additionalAttributes: {
captcha: null,
resendPossible: true,
phoneNumber: '+41791234567'
}
},
{
path: '/registration/flow/{{FLOW}}/selection',
additionalAttributes: {
selectionInfo: {
options: ['MTAN', 'CRONTO', 'AIRLOCK_2FA'],
lastSelected: 'AIRLOCK_2FA'
}
}
},
{
path: '/protected/flow/{{FLOW}}/airlock-2fa/device/add',
pageSettings: {
showAppDeviceActivationLink: true
}
},
{
path: '/protected/flow/{{FLOW}}/airlock-2fa/device/edit',
additionalAttributes: {
displayName: 'My Phone'
}
},
{
path: '/protected/flow/{{FLOW}}/approval/airlock-2fa/challenge',
pageSettings: {
showAppApprovalLink: true,
// supported factors are 'ONLINE_QR_CODE' and 'ONE_TOUCH'
factor: 'ONLINE_QR_CODE'
}
},
{
path: '/protected/flow/{{FLOW}}/approval/airlock-2fa/challenge-only',
pageSettings: {
showAppApprovalLink: true,
// supported factors are 'ONLINE_QR_CODE' and 'ONE_TOUCH'
factor: 'ONLINE_QR_CODE'
}
},
{
path: '/protected/flow/{{FLOW}}/approval/airlock-2fa/selection',
additionalAttributes: {
'deviceChoices': [
{
'id': 'id1',
'displayName': 'My Device One',
'deviceType': 'ANDROID'
},
{
'id': 'id2',
'displayName': 'My iPhone',
'deviceType': 'IOS'
}
]
}
},
{
path: '/protected/flow/{{FLOW}}/approval/cronto/challenge',
additionalAttributes: {
'challenge': {
'onlineValidation': true,
'pushed': false,
'pushDevices': [{
'label': 'My iPhone',
// the platform property is only used if label is set to null
'platform': 'IOS'
}]
}
}
},
{
path: '/protected/flow/{{FLOW}}/approval/cronto/selection',
additionalAttributes: {
'deviceChoices': [
{
'id': 'cronto1',
'label': 'Work phone (iOS)',
'defaultDevice': false
},
{
'id': 'cronto2',
'label': 'Private phone (Android)',
'defaultDevice': true
}
]
}
},
{
path: '/protected/flow/{{FLOW}}/approval/matrix',
additionalAttributes: {
matrixChallenges: ['A13']
}
},
{
path: '/protected/flow/{{FLOW}}/approval/mtan',
additionalAttributes: {
phoneNumber: '+41791234567'
}
},
{
path: '/protected/flow/{{FLOW}}/approval/mtan/selection',
additionalAttributes: {
'numberChoices': [
{
'id': '1',
'number': '+41791234567',
'defaultNumber': false
},
{
'id': '2',
'number': '+41769876543',
'label': 'My Phone',
'defaultDevice': true
}
]
}
},
{
path: '/protected/flow/{{FLOW}}/cronto/device/edit',
additionalAttributes: {
currentCrontoDeviceName: 'MyDevice'
}
},
{
path: '/protected/flow/{{FLOW}}/email/verification/otp/check',
additionalAttributes: {
emailAddress: 'john.doe@example.com'
}
},
{
path: '/protected/flow/{{FLOW}}/message',
additionalAttributes: {
messageId: 'default'
}
},
{
path: '/protected/flow/{{FLOW}}/selection',
additionalAttributes: {
selectionInfo: {
options: ['MTAN', 'CRONTO', 'AIRLOCK_2FA'],
lastSelected: 'AIRLOCK_2FA'
}
}
},
{
path: '/protected/flow/{{FLOW}}/mtan/registration/verification/otp',
additionalAttributes: {
resendPossible: true,
phoneNumber: '+41791234567'
}
},
{
path: '/protected/flow/{{FLOW}}/fido/credential/edit',
additionalAttributes: {
currentFidoCredentialDisplayName: 'My Credential'
}
},
{
path: '/auth/flow/{{FLOW}}/fido/passwordless',
pageSettings: {
publicSelfServiceLink: '{{SPA}}/self-service/flow/default',
userSelfRegistrationLink: '{{SPA}}/registration/flow/default',
// these buttons can be used to include a custom auth flow
additionalAuthenticationButtons: {
targets: [
{
applicationId: 'customflow'
}
]
}
}
},
{
path: '/protected/flow/{{FLOW}}/vasco/device/activation',
additionalAttributes: {
activatableDevices: [
{
id: '0',
serialNumber: '000-1111-33'
},
{
id: '1',
serialNumber: '111-2222-44'
}
]
}
},
{
path: '/protected/portal',
pageSettings: {
portalGroups: [
{
identifier: 'self-services',
portalTargets: [
{identifier: 'cronto-device-management'},
{identifier: 'address-change'},
{identifier: 'password-change'}
]
},
{
identifier: 'custom-group',
portalTargets: [
{identifier: 'custom-target'}
]
}
]
}
},
{
path: '/error/message',
pageSettings: {
titleKey: 'general.error.title',
message: {key: 'general.error.description', arguments: null}
}
}
],