Integrations
This tutorial demonstrates how to integrate Idura Verify with Okta
This tutorial demonstrates how to integrate Idura Verify with Okta. The following steps are required to complete your first login:
In the following you will be configuring first Idura Verify, then Okta. Once configured, you may test that everything works from Okta.
The setup requires a bit of switching back-and-forth between Idura and Okta's respective management dashboards, so we recommend that you have them open simultaneously to make the process really smooth.
Before you get started, you will need the following information:
https://your-company-name.okta.com/oauth2/v1/authorize/callback, but check your Okta settings to make sure. We'll use acme-corp as a replacement for your-company-name in this tutorial.post_logout_redirect_url for your Okta tenant.First, create a new application for your Okta tenant in Idura Verify. This is done via the Idura Dashboard.
Once the application is created, you'll need some of its details for configuring Okta to communicate with Idura Verify. Gather the following information from the application settings:
urn:idura:samples:okta for this example.acme-corp.idura.broker.If you plan on using single sign-on, you must also register your Okta post_logout_redirect_url as a redirect URL in your Idura application, so you can run single logouts.
If you are registering a new application, please save the initial configuration first.
After saving, you can configure the OAuth2 Code Flow for this application by following the three steps:
plainJson to enable retrieval of plain JSON user information from the /oauth2/userinfo endpoint.
Note that some libraries do not support the final userinfo request. In those cases, you will need to fetch the user data directly from the token endpoint as opposed to the userinfo endpoint. You can do this by choosing fromTokenEndpoint as a User info response strategy.
Idura Verify supports four modes for retrieving user information:
plainJson): User information is returned from the userinfo endpoint as a standard JSON object.signedJwt): User information is returned from the userinfo endpoint as a digitally signed JSON Web Token.signedAndEncryptedJwt): User information is returned from the userinfo endpoint as a signed and encrypted JSON Web Encryption(JWE) object.token endpoint, embedded in the id_token (fromTokenEndpoint). The fromTokenEndpoint flow is not standard, but can be useful if you are working with a product that does not call the userinfo endpoint.These steps are based on Okta developer documentation for configuring an OIDC Identity Provider.
Assuming that your Idura Verify domain is acme-corp.idura.broker, configure the fields as follows:
openid will suffice.urn:idura:samples:okta (the Client ID/Realm value from your Idura Verify application).https://acme-corp.idura.broker/ (the Idura domain your application is registered on).https://acme-corp.idura.broker/oauth2/authorize?acr_values=urn:grn:authn:dk:mitid:substantialhttps://acme-corp.idura.broker/oauth2/tokenhttps://acme-corp.idura.broker/.well-known/jwkshttps://acme-corp.idura.broker/oauth2/userinfo; If you specify the optional Userinfo endpoint, make sure your Idura Verify application user info response strategy is set to plainJson.This setup assumes you are planning to authenticate your users with the Danish MitID. If you need other eIDs, replace the value of the acr_values parameter in the Authorization endpoint, or set up several Identity Providers in your Okta tenant - see below for a list of supported values.
Idura Verify supports a range of country and bank specific eID services. They are all accessed through the same endpoints, e.g. https://<YOUR COMPANY>.idura.broker/oauth2/authorize
To pick the login method you must set the acr_values parameter on the authentication request in order to choose the type of authentication you want. How you set this query string parameter varies with programming platform and your OpenID Connect library of choice.
The current list of possible values is:
| Login method | acr_values |
|---|---|
| Norwegian BankID | |
| Mobile or Web (user choice): | urn:grn:authn:no:bankid |
| Norwegian Vipps Login | |
| Login with Vipps app: | urn:grn:authn:no:vipps |
| Swedish BankID | |
| All options (user chooses): | urn:grn:authn:se:bankid |
| Same device: | urn:grn:authn:se:bankid:same-device |
| Another device (aka mobile): | urn:grn:authn:se:bankid:another-device |
| QR code: | urn:grn:authn:se:bankid:another-device:qr |
| Danish MitID | |
| Level low: | urn:grn:authn:dk:mitid:low |
| Level substantial: | urn:grn:authn:dk:mitid:substantial |
| MitID Erhverv (MitID Business): | urn:grn:authn:dk:mitid:business |
| Finnish Trust Network | |
| BankID: | urn:grn:authn:fi:bank-id |
| Mobile certificate (Mobiilivarmenne): | urn:grn:authn:fi:mobile-id |
| Both of the above: | urn:grn:authn:fi:all |
Most eIDs distinguish between real users and test users.
Real users represent actual individuals who authenticate on your website, providing real personal information such as their name and typically a Social Security Number (SSN).
Test users are fictitious identities used for development and testing. Depending on the eID, you can either create your own test users or use pre-existing ones provided by Idura.
For instructions on creating test users for each eID, please refer to Test user guides.
How to integrate your application with Okta depends on the technology you are working with. Refer to the Okta developer documentation for more details.