You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds check to password change functionality to see if identity is federated. If so, the Change Password option is hidden from the user drop-down. Also updates the AUTH_SSO docs to include instructions for setting up the identity protocol mapper.
Copy file name to clipboardExpand all lines: docs/AUTH0_SSO.md
+32-3Lines changed: 32 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -156,7 +156,36 @@ Click **Save** after each mapper.
156
156
157
157
---
158
158
159
-
## Step 4 -- Configure First Login Flow (Optional)
159
+
## Step 4 -- Expose Identity Provider in the Token
160
+
161
+
By default Keycloak does not include which identity provider a user authenticated through in the tokens it issues. OpenCASE uses this information to hide the **Change Password** option for federated users — users whose password is managed by Auth0 rather than Keycloak cannot change it through Keycloak, so the menu item is suppressed when this claim is present.
162
+
163
+
Add a **User Session Note** mapper to the OIDC client (or to a shared client scope so it applies to all tenants automatically):
164
+
165
+
1. In the Keycloak Admin Console, go to **Clients** → `tenant-{id}` → **Client scopes** tab
166
+
2. Click the client's dedicated scope (e.g. `tenant-{id}-dedicated`)
167
+
3. Go to the **Mappers** tab → **Add mapper** → **By configuration** → **User Session Note**
168
+
4. Fill in the following fields:
169
+
170
+
| Field | Value |
171
+
|---|---|
172
+
|**Name**|`identity-provider`|
173
+
|**Session note**|`identity_provider`|
174
+
|**Token claim name**|`identity_provider`|
175
+
|**Claim JSON type**|`String`|
176
+
|**Add to ID token**| On |
177
+
|**Add to access token**| Off |
178
+
|**Add to userinfo**| Off |
179
+
180
+
5. Click **Save**
181
+
182
+
> **Shared scope alternative:** If you add this mapper to the built-in `profile` client scope instead, it applies to every tenant client without repeating the step for each one. Navigate to **Client scopes** (realm-level, not client-level) → `profile` → **Mappers** → **Add mapper**.
183
+
184
+
After this change, federated users will have `"identity_provider": "auth0"` (or the alias of whatever IdP they used) in their ID token. OpenCASE reads this claim to determine whether to offer the Change Password menu item — native Keycloak users have no such claim and will continue to see the option as before.
185
+
186
+
---
187
+
188
+
## Step 5 -- Configure First Login Flow (Optional)
160
189
161
190
When a user logs in via Auth0 for the first time, Keycloak's **First Broker Login** flow determines what happens. The default flow:
162
191
@@ -172,7 +201,7 @@ This works well for most setups. If you want to **skip the review page** and cre
172
201
173
202
---
174
203
175
-
## Step 5 -- Test the Integration
204
+
## Step 6 -- Test the Integration
176
205
177
206
1. Open your OpenCASE Editor: `https://YOUR_DOMAIN`
178
207
2. Click **Sign in**
@@ -185,7 +214,7 @@ This works well for most setups. If you want to **skip the review page** and cre
185
214
186
215
---
187
216
188
-
## Step 6 -- Assign Roles to SSO Users
217
+
## Step 7 -- Assign Roles to SSO Users
189
218
190
219
Users who log in via Auth0 are created in Keycloak with no roles by default. To give them access to OpenCASE features, you need to assign roles:
0 commit comments