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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Release 1.11.0 — attribute-based claim mappers (#10)
* Bump version to 1.11.0
* Add attribute-based claim mappers for non-broker token paths (#9)
Two new mappers that carry IdP claims as persisted user attributes
instead of session notes, so the claims survive token paths that skip
the broker flow (impersonation, direct grant, RFC 7523 JWT
authorization grant):
- oidc-claim-to-attribute-idp-mapper: broker-time plain copy of an
OIDC claim onto a user attribute; removes the attribute when the
claim is absent so FORCE sync tracks the IdP's current truth.
- oidc-prefixed-attribute-mapper: token-mint-time forwarding of every
user attribute under a prefix; single value -> scalar claim,
multiple values -> array; json.decode parity with the IdP mapper.
Shared internals generalized rather than forked: select() is now
generic over the value type (PrefixedSessionNoteMapperHelper ->
PrefixSelectHelper) and the JSON codec is renamed to ClaimJsonCodec.
Provider IDs of the existing session-note mappers are unchanged.
Claude-Session: https://claude.ai/code/session_01DmPwgu7dhiD7BGjw2v2iUE
Co-authored-by: Jared Gibson <jared@gibson.run>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* Add SAML attribute-to-attribute mapper (#11)
SAML counterpart of oidc-claim-to-attribute-idp-mapper: copies a SAML
assertion attribute onto a persisted user attribute with the session-note
pair's json.encode semantics (multi-valued attributes as JSON arrays,
first-value-wins otherwise) and FORCE clear-on-absent.
Needed because every current tz.idp.* passthrough site is a SAML IdP —
without this mapper the attribute unification has no migration path for
existing SSO orgs.
Claude-Session: https://claude.ai/code/session_01DmPwgu7dhiD7BGjw2v2iUE
Co-authored-by: Jared Gibson <jared@gibson.run>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Jared Gibson <jared@gibson.run>
Co-authored-by: jareds-assistant[bot] <294625628+jareds-assistant[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>