Skip to content

Release 1.11.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 01:37
· 5 commits to main since this release
e78e7fc
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>