Table of Contents

Login using OpenID Connect

Publisher supports OpenID Connect as an additional IdP (Identity Provider) that can handle user identification based on e-mail.

The basic workflow is as follows:

  1. The user opens up the viewer.
  2. The user selects the OpenID Connect login option and is identified using the OpenID provider (this involves a popup).
    his process ends with the identification of the user in the form of an e-mail address.
  3. The user is identified as one of the known Publisher users.
    1. The Server searches for a user with a matching username.
    2. The Server searches for a user with a matching e-mail field.

When no matching user is found, the login attempt fails.

1. Client Declaration

Every OAuth IMS has an internal list of Applications that it knows about, and it offers identification services to. Your Publisher instance needs to be registered here. Typically, the configuration parameters are:

  1. App Name : The name of your Publisher application, usually displayed when asking the user for consent.
    Example: Demo Publisher
  2. App URL : The URL of your Publisher.
    Example: https://publisher.orbitgt.com
  3. CORS Domain : The list of domains cross-domain JavaScript calls are allowed from (to retrieve the final token).
    Example: publisher.orbitgt.com
  4. Redirect URL : The list of URL's that are allowed as redirect URL's after authorization is completed.
    Set to: <your-app-domain>/viewer/assets/oauth-flow-callback.html
    Example: https://publisher.orbitgt.com/viewer/assets/oauth-flow-callback.html
    The Redirect URL must point to a web-page that opens without any error (HTTP 200).
  5. Scopes : The list of scopes the application is allowed to request.
    Set to: openid email profile

2. Publisher Service Configuration

The following settings need to be added to the publisher_3dm/configuration.ini file.
Replace <code> with an internal code for the service you are declaring.

3. Usage from the browser

When opening a publication, you should now see the new Login Option :

Provider Specific Notes

Google

Manage your OAuth2 Credentials (for a Web Application) here: https://console.cloud.google.com/apis/credentials
Manage your Consent Screen configuration here: https://console.cloud.google.com/apis/credentials/consent

Google requires a client to pass a secret, although this is not necessary when using PKCS. This is a known issue.