Add OpenID Provider
This section contains step-by-step instructions for creating a OpenID Connect Provider (OP) in Monokee. The created provider will support also pure OAuth 2.0 protocol.
The following steps will guide you through the process of setting up a OAuth 2.0 Provider:
Navigate to your Monokee custom fully qualified domain name (FQDN) or if you haven't set up a custom FQDN, go to Monokee's default page and enter your domain ID. Then, enter your login credentials to access your account.
Open the left sidebar and select OAuth Providers from the menu.
This will display a two-tab page, choose the OPENID PROVIDER tab. Click the Add button located in the top right corner.
Within the presented modal, in the CORE tab, enter the desired Provider Name for your new provider, such as Default OpenID Connect Provider. Leave the Issuer and JWKS uri untouched.
Flag the Display Metadata options to enable OpenID Provider Metadata. The provider information could be reached at this url:
https://<(new.monokee.com/<domain_id>|<domain-custom-fqdn>)>/oauth2/<provider_id>/.well-known/openid-configuration>
.In the Grant types supported option, you can select the specific grant types you wish to enable. In a standard configuration, it is advisable to choose all grant types except for
password
which is generally considered to be insecure and not recommended. Also theimplicit
grant type is considered insecure but in the OpenID Connect configuration must be checked to allow the use of Hybrid flow.In the Token endpoint authentication methods supported, Revoke endpoint authentication methods supported, Introspect endpoint authentication methods supported options, you can select the supported authentication method for each endpoints. In a standard configuration, it is advisable to choose all the options, except for
none
that allow to call endpoint without authentication.In the Supported response types section we suggest to enable the
code
,id_token
,code id_token
checkbox. In this way you allow the hybrid flow to release only authorization code and ID token, but not access token that must be exchanged with the use of the token endpoint to improve security.In the Supported code challenge methods section you can choose the challenge method supported by the Proof Key For Code Exchange (PKCE) variation of Authorization Code flow. We suggest to flag only
S256
to improve security.In the Scopes section you can insert the needed scopes,
openid
is mandatory. For example, insert in the combobox theopenid
,profile
,email
,address
,phone
openid scopes andtest
andadmin
custom scopes.Click on the ADVANCED tab to see the full list of endpoints supported by the provider. It is important to note that, in most cases, these endpoints should remain unchanged, except for rare circumstances where endpoint overwriting is necessary.
In a basic configuration check only the Claims parameter supported to allow direct issuing of claims without scopes.
In the Supported response modes select choose all the options
query
,fragment
andform_post
to enable your provider to all scenarios.In the Supported subject types modes check both
pairwise
andpublic
to enable your provider to all scenarios.In a basic configuration left Supported ACR values empty.
Choose all the available options in the Supported claims combobox. You could also add custom claims. For example:
name
,family_name
,given_name
,middle_name
,nickname
,preferred_username
,profile
,picture
,website
,gender
,birthdate
,zoneinfo
,locale
,updated_at
,email
,email_verified
,address
,phone_number
,phone_number_verified
,test_claim
In the Supported languages for the interfaces insert your supported language, for example
en-US
andit-IT
.Click on the SIGNING tab to configure signing options, here you can choose what algorithm are available for signing and configure the corresponding keys.
For a standard configuration you can set
none
on both Signing algorithms for the userinfo object supported and Signing algorithms for the request supported options while in the Signature algorithms for the token ID supported option you must at least configure theRS256
value.Add the signing key for the previous chosen algorithm in the Signature section. Click the Add button and in the modal choose, for example, the
RS256
method from the Select an algorithm for signing menu and click on the Generate Key Pair button. This will generate a couple of key pair for the given algorithm. You can also add public key and private key manually from the textbox.
For a standard configuration choose
RSA-OAEP-256
in the Encryption algorithms for the supported token ID option andA128GCM
in the Content encryption algorithms for the supported token ID option. Leave the other options empty.Add the encryption key for the previous chosen algorithm in the Encryption section. Click the Add button and in the modal choose, for example, the
RSA-OAEP-256
method from the Select an algorithm for encrypting the key menu and click on the Generate Key Pair button. This will generate a couple of key pair for the given algorithm. You can also add public key and private key manually from the textbox.Click the bottom right Save button to save the configuration.