OIDC

OpenID Connect

OIDC is an open standard with wide adoption. This means it’s highly likely the code, in the form of a library, to integrate OneID with your service already exists. The OpenID Foundation provides lists of certified OIDC libraries for different programming languages and frameworks. For Shopify, we provide our own integration via app plug-in.

Supported Scopes

Each data we verify is called a scope. These scopes can be configured using the OneID API to return claims from the Userinfo end point.

Full list of supported scopes:

Scope

Description and Returned Attributes

openid

Subject identifier: a consistent unique identifier for an individual

"sub":"6f35afb8-42ee"

profile

Full name

"name”:"Janet Davidson","given_name":"Janet","family_name":"Davidson"

date_of_birth

Date of birth

"birthdate":"1985-06-01"

address

Address information embedded in a separate structure

"address": {"street_address":"3614 Poe Road”,"locality":"Heworth”,"region":"York”,"postal_code":"YO31 1EB”,"country":"UK"}

email

Email

"email":"janet.davidson@example.com"

phone

Phone number

"phone_number”:”+440000000000"

age_over_18

Boolean for an individual if they are over 18

"ageover18": true

fraud

Fraud indicators:

activityHistoryScore Values range from 0 to 4. 0 means there was no match.

identityFraudScore Values range from 0 to 3. 0 means there is potential ID fraud. If the score is 0 then the reason will be indicated by the fields nationalSIRAFraud, nationalSIRAVictim, disclosureOfDeathRegistrationInformationMatch, amberhillMatch and noMatch.

nationalSIRAFraud This is an indication that the supplied individual has previously attempted to commit fraud.

nationalSIRAVictim This is an indication that the supplied individual's details have previously been used in impersonation fraud.

amberhillMatch Amberhill is a database held by the Metropolitan Police Service relating to fraudulent identity documents.

noMatch We have not been able to match the individual to any data sets. This is therefore an indication that it could be a synthetic ID.

"fraud": {"searchPerformed": true,"activityHistoryScore": 0,"identityFraudScore": 0,"nationalSIRAFraud": false,"nationalSIRAVictim": false,"disclosureOfDeathRegistrationInformationMatch": false,"amberhillMatch": false,"noMatch": false}``

OpenID Connect Client Configuration

Any relying party service (e.g. ecommerce website) with a server can use an OIDC confidential client. This is the most widely supported OIDC configuration.

We recommend that relying parties create a confidential client to access OneID. In most cases support for confidential OIDC clients already exists for common web frameworks and programming languages.

The Relying Party client configuration consists of:

  • Client ID: a uuid which identifies this OIDC client to the OneID Platform.

  • Client Secret: an opaque string used to authenticate the client to private API endpoints.

  • Redirect URL: the URL users will be returned to once they have authenticated and shared data from their bank. The OneID platform maintains an allowlist of these redirect URLs so changes must be reflected in the platform before a new redirect_uri OIDC parameter can be used.

  • Relying Party origins: a list of the origin server names used by the relying party.

State

The OAuth state parameter is required in order to help mitigate CSRF attacks by using a unique and non-guessable value associated with each authentication request about to be initiated. The state should be passing the regular expression ^[a-zA-Z0-9-_]+$ and should be kept in the backend, or browser’s local storage.

Upon the user’s redirection back to the return endpoint, the state found in the URL params should be compared against the one previously stored and the journey should fail if they do not match.

Confidential Clients

A confidential client is an application running in a server environment that is trusted to keep a client secret confidential. In this case the authorisation code is passed on to the backend server that is responsible to exchange it for a token. This is the preferred way to integrate with OneID.

Differences between Sandbox and Production

Client configurations are not shared between Sandbox and Production. New clients must be configured in the production environment.

OIDC Configuration URLs

The following URLs return our OpenID Connect Configuration. They can be used to discover where our authorization, token and userinfo endpoints are located.

How we use OIDC

What is OpenID Connect (OIDC)

OpenID Connect or OIDC is a popular identity protocol that utilises the authorisation and authentication mechanisms of OAuth 2.0. It simplifies the way to verify the identity of users based on the authentication performed by an Authorization Server and to obtain user profile information in an interoperable and REST-like manner.

For developers, it provides a secure and verifiable answer to the question “What is the identity of the person currently using the browser or mobile app that is connected?”.

What do we use OIDC for?

We use OpenID Connect (OIDC) protocol to securely transfer bank-verified user attributes to Relying Party (RP) services.


We support the OIDC authorization code flow. For developers familiar with OAuth this is sometimes referred to as the 3-legged OAuth journey. This is the most widely supported flow across different programming languages and technologies.

OIDC for Identity Assurance

OpenID Connect for Identity Assurance 1.0 (OIDC4IDA or IDA) is a technical specification built on OAuth 2.0 and OpenID Connect (OIDC). It defines a JSON structure for conveying verified claims about a natural person.

This specification defines an extension to OpenID Connect for providing our customers with identity information, i.e., Verified Claims, along with an explicit statement about the verification status of these Claims (what, how, when, according to what rules, using what evidence). This specification is aimed at enabling use cases requiring strong assurance, for example, to comply with regulatory requirements such as Anti-Money Laundering laws or access to health data, risk mitigation, or fraud prevention.

OIDC for Identity Assurance is an optional extension to the following products:

  • ID Check

  • ID Proof

  • ID Assure

  • ID Scan

  • Sign Up

  • Sign Up Plus

  • Sign In Refresh

  • Age Assure

The key data we return are shown in the table below:

Element

Description

Example

Trust Framework

The trust framework under which we have assessed the data and its source. OneID is certified under the governments Digital Identity and Attributes Trust Framework (DIATF).

uk_diatf

Assurance Level

The assurance level based on the Trust Framework. OneID Products meet Medium, High or Very High levels of assurance depending on the type of data requested and returned.

medium

Policy

The standard policy that was followed in assessment of the Assurance Level. The DIATF uses policies set out under the Good Practice Guide (45) (GPG45).

gpg45

Procedure

The specific procedure from the policy (GPG45) that was followed in order to ascertain the Assurance level.

m1c

Transaction Type

The type of evidence that was used to prove the identity. (e.g. electronic records from a data source)

electronic_record

Record Type

For electronic_record . The type of record that was used to prove the identity.

bank_account

Record Source

For electronic_record . The source of the record that was used to prove the identity.

Bank Name

Document Type

For document . The type of document used to perform identity verification.

passport

Check Method

What check was done in relation to the evidence.

auth

The Assurance Level and Trust Framework for each product are shown in the table below. This applies where a UK bank account, passport or driving licence has been used to prove the identity of the subject.

Product

Trust Framework

Assurance Level

ID Check

DIATF

Medium

ID Proof

DIATF

Medium

ID Assure

DIATF

Medium, High or Very High

ID Scan

DIATF

Medium, High or Very High

Sign Up

DIATF

Medium

Sign Up Plus

DIATF

Medium

Sign In Refresh

DIATF

Medium

Age Assure

DIATF

Medium

A copy of the certification can be found here:

https://accscheme.com/wp-content/uploads/Certificate-11.06.24-V4-02.10.24-OneID-Ltd-DIAFT.pdf

More information on the response structure can be found in our OIDC for Identity Assurance Guide.