Summary
This document will guide you through the steps to enable multi-factor authentication and Single-Sign On for the Business intelligence and Performance management system Hypergene (https://www.hypergene.com/), using OpenID Connect.
System Requirements
- PhenixID Authentication Server 4.0 or higher
- Hypergene technical contact
Instruction
Overview
This document will guide you through the steps to enable multi-factor authentication and Single-Sign on for Hypergene.
PhenixID Authentication Services acting as OpenID Connect Provider
Setup PAS as OpenID Connect Provider
- Login to Configuration Manager.
- Scenarios->OIDC
- Add a new relying party:
– client_id = hypergene
– client_password = <create a password and set>
– Allowed redirect uri:s = <ask the Hypergene admin which value(s) to use> - Create a new OpenID Connect provider by selecting the desired authentication method. Follow the scenario guidelines for values.
Use the Authorization Code Flow.
Allow hypergene as an allowed RP to use the OP. - (Points 6-10 below is only necessary with PAS version 4.0 or previous).
- Click Execution flow
- Expand Token endpoint
- Click Add Valve
- Select PropertyAddValve
- Enter name = token_type and value = Bearer. Make sure the valve is placed last in the execution flow.
- Open the first valve RPBasicAuthenticationValve
Change username to username_api & password to password_api
- Open the OIDCTokenRequestValidationValve
Disable that valve. - Save the changes
- Click General
- Click View OP Discovery
- Copy the jwks_uri value.
Example: - Open the copied address
- Copy the row defining the kid value. Paste the result in a text editor (for temporary storage).
- (Points 20-30 below is only necessary with PAS version 4.2 or previous).
- Go back to Configuration Manager->Scenarios->Your OP->Execution flow
- Expand token endpoint
- Expand the GenerateJwtTokenVavle
- Click Advanced
- Copy the ID valve
- Click the top Advanced tab
- Click on the pen to the right of pipe valves
- Search, paste the ID value
- In the GenerateJWTTokenVavle configuration, add the kid-value to the configuration. Example:
.
.
“config”: {
“subjectattribute”: “{{session.user_id}}”,
“keystore”: “45g324-123rwe-23412-123”,
“expire_seconds”: “90”,
“kid”: “aDsxKfK5yr3jp3zRJwicxBV3B5o”,
.
- At the same valve, also change the amr string attribute to an array.
Like this.
{
“name”: “amr”,
“value”: “[\”pwd\”]”,
“type”: “array”
}, - Click Stage changes and Commit changes
- Go back to Configuration Manager->Scenarios->Your OP->Execution flow
- Expand the first execution flow
- Fetch the userPrincipalAttribute from your user store.
- Add a SessionPropertyReplaceValve with these values:”name” : “UPN”,
“value” : “{{item.userPrincipalName}}” - Place the valve after SessionLoadValve and before SessionPersistValve
- Save
- Expand the Token endpoint execution flow
- Locate the GenerateJwtTokenVavle
- On the Token attributes part (which defines the claims to be set in the id_token), add a new key-value pair:
“name” : “UPN”,
“value” : “{{session.UPN}}” - Save
- Click Scenarios->OIDC-><Your OP>
- Click View OP Discovery
- Copy the OP discovery URL.
- Send this information to the Hypergene administrator:
Hypergene naming in parathesis
– OP Discovery URL (oidc_issuer_url)
– client_id (oidc_client_id)
– client_secret (oidc_client_secret)
– List of claims that will be present in the id_token
In the example above, UPN. (oidc_username_claim)
Configure Hypergene
- The Hypergene administrator will handle this part.
Test
The Hypergene administrator will supply instructions on how to test the setup.
DISCLAIMER
Information provided in this document is for your information only. PhenixID makes no explicit or implied claims to the validity of this information. Any trademarks referenced in this document are the property of their respective owners.The origin of this information may be internal or external to PhenixID. PhenixID makes all reasonable efforts to verify this information.
PhenixID - support.phenixid.se