Table of Contents

Itsme Provider Itsme

Itsme is a trusted identity provider allowing partners to use verified identities for authentication and authorization on web desktop, mobile web and mobile applications.

Setup

A few steps are needed to get Itsme working as a provider.

Before you start integrating itsme®, you MUST create an organisation. This is described in the prerequisites part of the official Itsme documentation: https://belgianmobileid.github.io/slate/login.html#1-introduction.

Once there, you will need to fill out a basic form with the following questions:

  • Contact details such as your email, name, phone number.
  • Organisation details as shown on the company register for your jurisdiction.
  • Information about the project you want to set-up and the use case you have in mind.
  • itsme® terms and conditions. If you require a copy of this please contact onboarding@itsme.be.

Their onboarding team will review your project and get in touch within 3 days with a "client_id" and a "service_code" which need to be added in your configuration.

After going through the integration process with Itsme, we also need to do some configuration in the Ometa Business Connector.

Registering your private keys.

The OpenID Connect Core specifications support multiple authentication methods, but itsme® only supports "private_key_jwt". It requires that each party exposes its public keys as a simple JWK Set document on a URI accessible to all, and keep its private set for itself.

Your private and public keys can be generated via Yeoman. To get started, install Yeoman and generator-itsme with NPM:

$ npm install -g yo generator-itsme

After installation, run the generator:

$ yo itsme

You'll receive 2 json files: 'jwks_private.json' and 'jwks_public.json'.

The jwks_public.json file should be publicly available for itsme, so you need to host this file on a public URI and mail this uri to onboarding@itsme.be. The jwks_private.json file should be used in the business connector. More information about that in the section below.

Business Connector

Open the Ometa Business Connector.

Click on the blue menu item in the top left corner and navigate to the security tab. Click on the "Providers" menu item. The following screen will pop up:

Providers

As you can see, itsme is already known in our Framework. We just need to enter the configuration we've received from itsme in order to get it to work.

Click on the itsme provider.

  • Fill in the client id with the client id that you've received from itsme.
  • Fill in the client secret with the service code that you received from itsme. Use the service code that is provided for the login functionality.
  • Last but not least, load the contents of the private keys json by using the designated button.

Itsme Provider

Note

You'll receive a visual representation of the keys but you can't edit them.

Claims

The following claims are provided by default by itsme when a user successfully authenticates itself.

  • name
  • given_name
  • family_name
  • birthdate
  • gender
  • email
  • email_verified

An example:

Type Value
name John Doe
give_name John
family_name Doe
birthdate 1980-01-05
gender male
email john.doe@ometa.net
email_verified true