Connect2id server 15.9
The user sessions
of the Connect2id server can be used as a lightweight
method to feed user attributes (JWT claims) into the issued ID
tokens. Whenever a new IdP session gets
created for a logged in user, attributes to include automatically in the ID
tokens for the user can be saved in the claims
field.
Example session with four saved claims:
{
"sub" : "alice",
"auth_time" : 1723187423,
"creation_time" : 1723187423,
"max_life" : 302400,
"auth_life" : 302400,
"max_idle" : 10080,
"rps" : [ "eedi8jah", "ahp9xei5", "ioj6agah" ],
"claims" : { "email" : "alice@wonderland.net",
"name" : "Alice Adams",
"roles" : [ "admin", "audit" ],
"office" : "B-397" }
}
This capability has existed since 2015 and can be disabled with op.authz.feedSubjectSessionClaimsIntoIDToken:
op.authz.feedSubjectSessionClaimsIntoIDToken=false
Starting with this 15.9 release, the op.authz.feedSubjectSessionClaimsIntoIDToken
is deprecated for removal, and in its place a new configuration property
introduced – op.idToken.includeSubjectSessionClaims,
to enable fine-grained control over the claims when necessary.
The default value of the new configuration property value is *
(asterisk),
meaning all claims. It thus preserves the default behaviour of the deprecated
op.authz.feedSubjectSessionClaimsIntoIDToken
property.
op.idToken.includeSubjectSessionClaims=*
To select only specific claims for automatic inclusion in the ID tokens simply list their names:
op.idToken.includeSubjectSessionClaims=email,roles
To disable all automatic inclusion set the value to an empty list:
op.idToken.includeSubjectSessionClaims=
Because the session is made available to the Connect2id server claims
source plugins, its claims
field can naturally be used to fulfil requests for individual consented claims
to be delivered to client applications in the ID tokens or at the
userinfo endpoint. This can simplify
deployments and infrastructure, by loading all potential user attributes for
release to clients at the time of user authentication, avoiding subsequent
calls to services and databases to get them.
For example, taking the session claims
above, the email
and roles
can be
listed for automatic inclusion in all ID tokens, while any remaining claims
found in the field will be made available to the claims source, for client
applications to request them individually and explicitly.
We plan to include a ready plugin to handle such retrieval of claims stored in the user session in a future release of the Connect2id server. Note that because of the requirement for the user session to be still present (active), this is suitable only for client applications that don’t require access to the user claims after user logout / IdP session expiration.
Download 15.9
For the signature validation: Public GPG key
Standard Connect2id server edition
Apache Tomcat package with Connect2id server 15.9: Connect2id-server.zip
GPG signature: Connect2id-server.zip.asc
SHA-256: 655f6dfe53bbb7a2aa2712b8191a0fd41cacd3a1945f6f6fcbfca67c77658fda
Connect2id server 15.9 WAR package: c2id.war
GPG signature: c2id.war.asc
SHA-256: ce8ba12064b81a4ecfb9172794b0c6a59192b012ca57827567e60f655256da52
Multi-tenant edition
Apache Tomcat package with Connect2id server 15.9: Connect2id-server-mt.zip
GPG signature: Connect2id-server-mt.zip.asc
SHA-256: c49e894e535e2e8130e1d0df8a9637a63199eaf842e8670372d92a87da68bb4c
Connect2id server 15.9 WAR package: c2id-mt.war
GPG signature: c2id-mt.war.asc
SHA-256: 29e7f7f9a26cbce8fc426c0bc9908e756d683a741193b379f2c5a1691456e9d4
Questions?
For technical questions about this new release contact Connect2id support. To purchase a production license for the Connect2id server, renew or upgrade your support and updates subscription, email our sales.
Release notes
15.9 (2024-08-08)
Configuration
-
/WEB-INF/oidcProvider.properties
-
op.idToken.includeSubjectSessionClaims – New optional configuration property to control the automatic inclusion of members from the subject session
claims
JSON object in issued ID tokens. Applies to regular andprompt=none
OpenID authentication requests as well as ID token refreshes. An*
(asterisk) selects all members. The member names can alternatively be specified as comma and / or space separated list. An empty list disables the inclusion. The default value is*
(include all). -
op.authz.feedSubjectSessionClaimsIntoIDToken – Deprecated for removal, use
op.idToken.includeSubjectSessionClaims
instead.
-
Dependency changes
-
Updates to com.nimbusds:oauth2-authz-store:26.5.2
-
Upgrades to com.nimbusds:common:3.4
-
Updates to net.thisptr:jackson-jq:1.0.0-preview.20240207