eIDs
Learn more about Norwegian BankID token contents, how to create test users and how to gain access to production.
Triggered with acr_values=urn:grn:authn:no:bankid:high
(or acr_values=urn:grn:authn:no:bankid
)
The level of assurance for these authenticators are: High
The uniqueUserId
identifies the legal person corresponding to the login, and is not considered sensitive.
Triggered with acr_values=urn:grn:authn:no:bankid:substantial
The level of assurance for this authenticator is: Substantial
Note that there is no certsubject
returned when using Biometrics.
Test users are created through the web page at https://ra-preprod.bankidnorge.no/#/search/endUser.
It can take up to 1 hour before a newly created test user is activated.
You can test it out at our authentication demo site, which is a small sample hosted by Criipto.
If you run into issues with test users created earlier (e.g. errors when entering the one time password), your test user certificate might have expired.
This can be fixed by ordering a new netcentric BankID:
Start by creating a netcentric test user as described above.
You will then need to install the test version of the BankID App. Contact our support team to get access to the iOS
(distributed via TestFlight
) or Android
version of the test app. In your request, please provide the email address linked to your Apple ID (for iOS
) or your Google account for the Play Store (for Android
) used for testing. Our team will get back to you with confirmation and download links for the test app.
The app must be activated before first use:
{yourTestSsn}
placeholder with your actual test-SSN): https://toba-preprod.bankidapis.no/test-events/sms-sent-to-qualified-user/{yourTestSsn}Basic user information, full name, and date of birth are always made available. Additional data may be requested and is released with explicit user consent only.
For applications configured to use a dynamic
scope
strategy, the following scope
tokens can be supplied: address
, email
, phone
and ssn
.
Data type | Released | Verified | scope | login_hint |
---|---|---|---|---|
Full name | Always | Yes | ||
Date of birth | Always | Yes | ||
SSN ("fødselsnummer" in Norwegian) | User consent | Yes | ssn | scope:ssn |
Address | With user consent | No | address | scope:address |
With user consent | No | email | scope:email | |
Phone number | With user consent | No | phone | scope:phone |
https://YOUR_SUBDOMAIN.criipto.id/oauth2/authorize?scope=openid email address&...
Alternatively, you can send them in the login_hint
https://YOUR_SUBDOMAIN.criipto.id/oauth2/authorize?...&login_hint=scope:email scope:address&...
which can be a useful if you are working with technology that does not let you control the scope
value.
Access to the SSN is governed by Norwegian law, as described in the Ordering Norwegian BankID guide.
The unverified data are supplied by end-users and not verified by Bidbax (operator of BankID) or the Norwegian banks.
End-users must explicitly grant consent to releasing the data to you.
The consent model is enforced by Bidbax, and they also provide the consent and data collection dialogs.
If you request SSN, it will be treated as a required value. End users will not be allowed to complete a login until they have explicitly given their consent to release SSN.
All other additional data are treated as optional values. A login may complete even if the user does not consent to release the requested data.
Consent to SSN will be stored by Criipto for 1 year for your tenant, after which the user must provide explicit SSN consent again.
Criipto does not store the SSN itself, just the fact that the user has granted your tenant access to it.
You can add a "forget-me" link on your website if you want to let users revoke the consent again. Use a normal authorize request as target, but add a prompt=consent_revoke query parameter to the request. Criipto will then run a login flow (to be able to recognize the end user), and delete the granted consent.
You can learn more about authorize requests in our authorize URL builder.
You can use the Criipto management dashboard dashboard.criipto.com to configure access to the optional user data, in the Identity Sources -> NO BankID section.
To start accepting real users with Norwegian BankID, you must first request your client credentials from Bidbax. The credentials consists of a client id and a client secret.
Prerequisites for ordering
In order to apply for the BankID client credentials for a company you must meet the basic requirements:
The BankID OIDC Biometrics option is now available when ordering BankID.
Biometrics is always included in the basis agreement.
Due to new terms and conditions in the agreement, you must send us an updated application if you wish to use BankID Biometrics.
BankID Biometrics assurance level is “Substantial”.
Learn more about assurance levels.
If you can only use assurance level “High” in your login flow, you must explicitly specify the login_hint=BID in your authorize requests to Criipto Verify. Please note that using login_hint=BID
will disable biometrics in the BankID app.
By default, the user flow is controlled by the user-defined settings of the BankID app: no additional configurations required. If necessary, you can adjust the user flow by adding a login_hint
to the authorize URL.
The table below provides a list of options for using login_hint
with Norwegian BankID, and the resulting user flows. Check our guide on prefilled fields to learn more.
Parameter | Description |
---|---|
login_hint=BID | The user will be redirected to the BankID app, with biometrics disabled. The user will be queried for userID(i.e. national identity number) in the first dialogue. |
login_hint=BID:<SSN> , where <SSN> has the format DDMMYYXXXXX | The user will be redirected to the BankID app (with biometrics disabled) along with a pre-selected userID. The userID dialogue is omitted in this case. |
login_hint=BIS | The user will be redirected to the BankID app. The user will be queried for userID in the first dialogue. This option does not disable biometrics. |
login_hint=BIS:<SSN> , where <SSN> has the format DDMMYYXXXXX | The user will be redirected to the BankID app with a pre-selected userID. This option does not disable biometrics. |
no login_hint provided | The default settings of the BankID app on the user's device will determine the flow (whether biometrics are enabled or disabled). |
To order production credentials please send a request to
with answers to these questions:
After Criipto has received the above information, we order the client credntials from your bank by filling out an online agreement, which is then sent to the appointed persons at your company for signing. Criipto will also sign the agreement
When all signatures are in place the signed agreement is sent to your bank for further processing and eventual issuance of your client credentials.
Once you have received credentials, they must be entered into the Criipto Verify management UI to configure your NO BankID integration.