OneID SSO Integration (PKCE)

OneID's Identity and Access Management (IAM) solution uses PKCE (Proof Key for Code Exchange) method from open standards such as Oauth2 & OpenID Connect to provide authentication and authorization.

Step 1 - Determined the platform

OneID SSO support many type of platform including:

  1. Native/Mobile App (Mobile or Desktop app that support web browser web-view)

  2. Single-Page App (JavaScript web app that runs in the browser)

  3. Regular Web App (Traditional web app that runs on the server)

  4. Backend/API (An API or service protected)

Step 2 - Pick the SDK

Select the SDK that match with your project programing language

Step 3 - Create Client

Contact us to create/register Client: VUPNA@Onemount.com

Tenant & Client is the identity of the 3rd party service which use OneID SSO. Required information for registering including:

  1. client_id - ID of the 3rd party app

  2. client_secret - optional

  3. redirect_uris - the redirect url after the process complete

  4. owner - owner of the 3rd party app

  5. contacts - email of the owner

  6. client_name - name of the 3rd party app. This information is required for white label

  7. logo_uri - logo of the 3rd party app. This information is required for white label

  8. client_uri - home page URL of 3rd party app. This information is required for white label

  9. policy_uri - policy page. This information is required for white label

  10. tos_uri - term & condition page. This information is required for white label

  11. post_logout_redirect_uri - Hyperlink when click on 3rd party app logo image

  12. frontchannel_logout_uri - Logout URL for frontent

  13. backchannel_logout_uri - Logout URL for backend

  14. metadata - json format data which contain additional data such as:

    1. background image

    2. hotline - phone number

    3. support email

Step 4 - Working Flow

Make the login button.

Assuming step 2 & 3 is completed.

  1. User click the login button on 3rd app

  2. SDK it will generate code_verifier and code_challenge (from code_verifier).

  3. OneID redirect to OneID login form

  4. User login and consent scope

  5. OneID callback authorization_code to 3rd app

  6. SDK call /token endpoint with authorization_code and code_verifier

  7. OneID validate code_verifier

  8. OneID return access_token, id_token & access_token

Get resource with authorization code

10. 3rd party app uses access_token to access resource server (ex: /userinfo endpoint). 11. Resource server return data.

Last updated