Additional info from the thread:
Hi @Ronnie Vink . Have you tried using is
instead of has
for claim/email
?And as an aside, I’m curious why you want to use claim/email
over just email
; do you have a situation where they’d be different?
yup used the is
as well. it’s not about claim/email
specifically. it’s about using idp claims like the claim/family_name
example (or claim/groups
) in policies which seems to be not working at all. (edited)
FYI, I’m using Keycloak as OIDC provider. I added the groups claim in a separate scope, so any policies based on groups could be done with claim/groups
Currently the claim
criterion does not support the string matchers. It is rather used directly and only supports exact matches:
allow:
and:
- claim/family_name: Smith
Works like a charm. Thanks so much! I can confirm below works:
routes:
- from: https://verify.localhost
to: http://verify
pass_identity_headers: true
policy:
- allow:
and:
# - email:
# is: john.doe@acme.local
- claim/family_name: Doe
- claim/groups: DevOps
Claim example on https://www.pomerium.com/enterprise/reference/manage.html#pomerium-policy-language should be updated accordingly:
Thanks, I’ve staged a fix for the docs.