- OIDC discovery via .well-known/openid-configuration; falls back to
/.well-known/jwks.json when discovery is absent. Reject discovery docs
whose issuer claim does not match the configured issuer to defend
against issuer-substitution.
- ComputeParentUser derives a stable per-identity hash from (sub, iss).
Surface as aws:userid in the request context and as a parent_user
claim in the session JWT so per-user state survives token rotation.
- Per-role MaxSessionDuration (3600..43200) clamps requested
DurationSeconds before the STS service applies its own caps.
- Tighten RoleSessionName to the AWS contract: 2..64 chars from
[\w+=,.@-].
- Populate PackedPolicySize in AssumeRole / AssumeRoleWithWebIdentity /
AssumeRoleWithLDAPIdentity responses as a percentage of the 2048-byte
inline session policy budget.