RPBroker

This authenticator delegates the authentication to a trusted (internal or external) OIDC OP. It authenticates by sending an authentication request to that OP and then validating the id_token. This authenticator currently only supports Authorization Code Flow. 

Configuring the authenticator

Before enabling the authenticator ensure that phenix-oidc-discovery module is enabled and that the right OIDC OP has been configured for discovery. This is important and required even if the target OP is internal.

Name
Description
Default value
Mandatory
pipeID
pipe id of the pipe used for id token validation. N/A YES
rpID Internal ID of the OIDC Relying party to use N/A
YES
usernameAttribute
Value considered as username in the returned item from validation pipe. sub YES
scope The oidc scope sent to the OP  openid
No
opId
Internal id of the OP to use N/A Yes
executeUserInfoLookup
If to perform a user info lookup in addition.
https://openid.net/specs/openid-connect-core-1_0.html#UserInfo
Requires the op exposing a user_info url in discovery data. Response from discovery will be sent in to the pipe in parameter  "user_info".
false No
usePKCE
Whether or not to use PKCE true No
useNonce Whether or not to use Nonce true No
loginHint The login_hint sent to the OP (EXPANDABLE) N/A No
acrValues The acr_values sent to the OP (EXPANDABLE) N/A No
redirectUrlOverride
The redirect URL to use. Normally, the current URL will be sent as redirect url (since the URL will be different depending on the protocol entrypoint, or IDP), but that will be overridden if this property is set.

Note that if this option is set, the authenticator will only function for that protocol and IDP ID.
N/A No

Example configuration

{
  "id" : "6b216eaa-fd5b-49c2-ae86-f809a348c24e",
  "alias" : "rpbroker",
  "name" : "RPBroker",
  "displayName" : "rpbroker",
  "configuration" : {
    "pipeID" : "bb386174-090e-439b-81bb-ea19be41c6cf",
    "opID" : "my_oidc_op_id_2",
    "rpID" : "broker",
    "usePKCE" : "true",
    "useNonce" : "true",
    "doUserInfoLookup" : "false",
    "usernameAttribute" : "sub",
    "loginHint" : "{{session.userSource}}",
    "acrValues" : ["myacrValue1", "{{request.myacrValue2}}"]
  },
  "created" : "2023-12-08T09:44:50.897Z"
}
Click to copy

Requirements

The pipe executed MUST respond with one item. The phenix-oidc-discovery module must be enabled so that the OIDC OP's endpoints can be saved and used for the authentication. This is required even if the target OP is internal.