Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

If you wish, you can set up the same translate5 instance on different domains and configure for different clients different domains and different OpenID servers.

Examples how to use translate5 as OpenID client with different OpenID servers for Single-Sign-On (SSO) usage

Configuration within translate5

OpenID Connect is a simple identity layer on top of the OAuth 2.0 protocol, which allows computing clients to verify the identity of an end-user based on the authentication performed by an authorization server, as well as to obtain basic profile information about the end-user in an interoperable and REST-like manner. In technical terms, OpenID Connect specifies a RESTful HTTP API, using JSON as a data format.

OpenID Connect allows a range of clients, including Web-based, mobile, and JavaScript clients, to request and receive information about authenticated sessions and end-users. The specification suite is extensible, supporting optional features such as encryption of identity data, discovery of OpenID Providers, and session management.

...

To configure translate5 to work with OpenId connect is very simple. Navigate to the clients tab in your translate5 instance, and under the OpenId connect fieldsub-set tab there are OpenId configuration fields that need to be set.

Fill in the fields with the data as explained below. How to obtain the data of the OpenId Connect server is explained by the Google example further below.

translate5 domain:  the used translate5 instance url/domain.  (google Google configuration example: http: //translate5-openid.comnet). This is also the url which the user will be redirected to after the OpenId authentication.Note: do not define the domain with protocol included.  Valid definition will be translate5.net, test.translate5.net, translate5.net . Invalid: http://translate5.net

OpenId server: OpenId authentication server url (google configuration . This is the URL translate5 redirects users for authentication at the OpenId connect server (Google configuration example: https://accounts.google.com)

OpenId issuer: OpenId issuer url. In many cases this url is identical with the OPenId server url.

OpenId user name: OpenId authentication server username (google configuration Google configuration example: "Client ID" see image3)
(the user name that allows the openId client application to connect to the API of the openId server; do NOT mix this up with the username of the user, that wants to authenticate!)

OpenId password: OpenId authentication server password (google configuration Google configuration example: "Client secret" see image3)
(the password that allows the openId client application to connect to the API of the openId server; do NOT mix this up with the password of the user, that wants to authenticate!)

OpenId OAuth URL: OpenId authentication server OAuth url (google configuration example:: . This is the URL translate5 uses in the background to do the server to server authentication mechanism (Google configuration example: https://accounts.google.com/o/oauth2/auth). Also used to fetch the openid server properties (ex: https://accounts.google.com/o/oauth2/auth/.well-known/openid-configuration)

System Roles: translate5 internal user system roles.

  • If the OpenID connect server is configured and able to pass roles along with the authentication, the translate5 system roles passed by the OpenID server will be set for this user in translate5.
  • If the roles

...

  • in the OpenID server change, on the next login they will also change in translate5.
  • The OpenID server will only be able to set roles, that are checked in the OpenID Connect configuration of the corresponding client in translate5. Other roles will be ignored by translate5, even if the OpenID server claims them.
  • If the OpenID Connect server is not able to or configured to claim roles, the roles checked in the OpenID Connect configuration of the corresponding client in translate5 will always automatically be set for users of this client. 

Link text on login page:  Label text on the login page of translate5. A click on it redirects the user to the configured openid server for authentication, instead of using translate5 for authentication. If the checbox "Do not show login page" below the field "Link text on login page" is checked, the user will directly be redirected to the openid server for authentication/authorization and will never see the translate5 login page.

Example with Google's OAuth 2.0 API

Before your application can use Google's OAuth 2.0 authentication system for user login, you must set up a project in the Google API Console to obtain OAuth 2.0 credentials, set a redirect URI, and (optionally) customize the branding information that your users see on the user-consent screen.

Obtain OAuth 2.0 credentials

You need OAuth 2.0 credentials, including a client ID and client secret, to authenticate users and gain access to Google's APIs.

To find your project's client ID and client secret, do the following:

...

  1. click on Create credentials dropdown and select OAuth client ID
  2. on the next window Configure consent screen
    1. select Web application in the radio button options
    2. give a name to your your OAuth client ID (this is not the display name of your app) and click create
  3. now the new created client id should be listed in the credentials tab (see image2)

...

  1. navigate to the OAuth consent screen
  2. in the Authorized domains field add you current translate5 domain without protocol (see image4)
  3. click on save in the page bellow

...

  1. click on the credentials tab, and click on the openid client
  2. in the field Authorized redirect URIs add your translate5 instacne domain folowed by /login (image3) and click on save

...

Checkbox "Do not show login page: Automatically redirect to OpenID Connect server": Redirect directly to the SSO authentication provider.