Use OpenID Connect

When a customer links their company data, OpenID Connect lets you retrieve standard information from the user profile of their accounting package, such as the customer's name, email address and phone number. You might use these details to:

  • Pre-fill an application form for the customer.
  • Identify accounts linked by the same person.

This article explains how to configure your authorization process to use OpenID Connect.

📘

Support for OpenID Connect

  • Codat's linking process can only return available profile details, which vary from platform to platform. Codat currently supports OpenID Connect for QuickBooks Online, Xero, and our testing sandbox. See OpenID Connect Supported fields for the specific fields supported for each platform.
  • Codat doesn't use OpenID Connect to either verify the identity of customers, or to authorize data sharing or connections.

Configure your authorization process

Update your redirect URL and Link URLs.

  1. Add any parameters that you require from the user profile to your redirect URL. Follow the instructions in step 2 of the Using custom parameters section of the Authorization redirect article to do this. For example:
    https://redirect.com/site/{companyId}?firstName={openId_given_name}&email={openId_email}&phone={openId_phone_number}
  2. Append ?openId=true to a Link URL before you send it to a customer. For example:
    https://link-uat.codat.io/{companyId}/link?openId=true
    When the customer connects their accounting package any available profile values are substituted in the redirect URL. For example:
    https://redirect.com/site /{companyId}?firstName=John&[email protected]&phone+441234555666

Codat supports a subset of the available OpenID Connect fields, or claims, for selected integrations. Codat prepends each field name with openId_ to avoid conflict with existing fields.

OpenID Connect fields

The following table lists OpenID Connect fields and the accounting platforms for which they are supported.

Field and type

Description

Platform availability

openId_name,
string

Full name of the customer.

Sandbox

openId_given_name,
string

First name of the customer.

Sandbox,
QuickBooks Online,
Xero

openId_middle_name,
string

Middle name of the customer.

Sandbox

openId_family_name,
string

Last name of the customer.

Sandbox,
QuickBooks Online,
Xero

openId_nickname,
string

Alternative or casual name of the customer.

Sandbox

openId_preferred_username,
string

Short name the customer prefers to be known by.

Sandbox

openId_gender,
string

Gender of the customer.

Sandbox

openId_birthdate,
string

Birthday of the customer in the in YYYY-MM-DD format.

Sandbox

openId_address,
JSON object

Postal address the customer prefers to be contacted at.

Sandbox,
QuickBooks Online

openId_email,
string

Email address the customer prefers to be contacted by.

Sandbox,
QuickBooks Online,
Xero

openId_email_verified,
boolean

If true, this email address has been verified.

Sandbox,
QuickBooks Online

openId_phone_number, string

Phone number the customer prefers to be contacted on.

Sandbox,
QuickBooks Online

openId_phone_number_verified,
boolean

If true, this phone number has been verified.

Sandbox,
QuickBooks Online

openId_locale,
string

Language and country code for the locale of the customer.
For example: en-GB.

Sandbox

openId_profile,
string

URL of the profile page for the customer.

Sandbox

openId_picture,
string

URL of the profile image for the customer.

Sandbox

openId_website
string

URL of the web page or blog of the customer.

Sandbox

openId_zoneinfo
string

Time zone for the location
of the customer. For example: Europe/Paris.

Sandbox

openId_birthdate
string

Birthday of the customer in YYYY-MM-DD format.

Sandbox

openId_updated_at
number

Time the customer last updated their profile.

Sandbox


Did this page help you?