If you're setting up AWS Cognito as a Generic OIDC provider in Qlik Cloud and wondering why your users have no groups even though everything looks cor...
Show More
If you're setting up AWS Cognito as a Generic OIDC provider in Qlik Cloud and wondering why your users have no groups even though everything looks correctly configured — this is the post I wish existed when I hit this wall.
The problem
Qlik Cloud reads user claims from Cognito's userinfo endpoint. The userinfo endpoint does not return cognito:groups. It doesn't error. It just returns nothing for groups, silently.
You can confirm this yourself. After logging in, hit:
GET https://{your-tenant}/api/v1/diagnose-claims
You'll see "claimSource": "idp-userinfo" and claimsFromIdp with no group information at all. The cognito:groups claim exists in the ID token, but Qlik never reads the ID token — it reads userinfo, and userinfo doesn't carry it. No amount of adjusting the groups field in the Qlik IdP configuration will change that.
What actually works
The fix is a Post Authentication Lambda that writes the user's Cognito group memberships into a custom:groups user attribute on every login. Unlike cognito:groups, custom attributes ARE returned by the userinfo endpoint. Qlik picks them up normally.
Here's the full setup:
Step 1 — Add a custom:groups attribute to your User Pool
In the AWS Console: Cognito → User Pools → {your pool} → Sign-in experience → User attributes → Custom attributes → Add custom attribute
Field Value Attribute name groups (Cognito prefixes it as custom:groups) Data type String Mutable ✅ Yes — the Lambda needs to update this on every login Max length 2048
⚠️ Custom attributes are permanent in Cognito. You cannot delete them after creation.
Step 2 — Grant your Qlik Cloud app client Read access to custom:groups
Step 5 — Register as a Post Authentication trigger
User Pool → Extensions → Lambda triggers → Authentication → Post authentication → Add Lambda trigger
If you have a Pre-token generation trigger from an earlier attempt to inject groups into the ID token, remove it. It won't help and may cause side effects.
Groups will also appear in Administration → Groups after the first login.
Quick troubleshooting
Symptom Fix custom:groups missing from claimsFromIdp Check Lambda trigger is set (Step 5) and Read permission is enabled on app client (Step 2) custom:groups present but mappedClaims.groups empty Qlik IdP groups claim is still set to cognito:groups — update to custom:groups Lambda errors in CloudWatch IAM policy missing or Resource not scoped to correct user pool ARN Groups don't appear in Qlik Admin Enable Creation of groups under Administration → Settings → Feature control
Hope this saves someone a few hours. Tested and working on Qlik Cloud with a Generic OIDC Cognito setup.