[Openid-specs-ab] Issue #1031: sid ID Token claim - definition and when to include (openid/connect)

Filip Skokan issues-reply at bitbucket.org
Mon Jul 9 09:02:52 UTC 2018


New issue 1031: sid ID Token claim - definition and when to include
https://bitbucket.org/openid/connect/issues/1031/sid-id-token-claim-definition-and-when-to

Filip Skokan:

## `sid` claim definition

sid claim is defined in Front-Channel Logout 1.0 is for its use as a parameter for frontchannel_logout_uri **as well as ID Token claim**.

> **The sid (session ID) Claim used in ID Tokens and as a frontchannel_logout_uri parameter has the following definition:**
> 
> sid
> OPTIONAL. Session ID - String identifier for a Session. This represents a Session of a User Agent or device for a logged-in End-User at an RP. Different sid values are used to identify distinct sessions at an OP. The sid value need only be unique in the context of a particular issuer. Its contents are opaque to the RP. Its syntax is the same as an OAuth 2.0 Client Identifier.


But for Back-Channel Logout 1.0 is defined **only for its use in Logout Token.**

> 2.4.  Logout Token
...
The following Claims are used within the Logout Token:
...
sid
> OPTIONAL. Session ID - String identifier for a Session. This represents a Session of a User Agent or device for a logged-in End-User at an RP. Different sid values are used to identify distinct sessions at an OP. The sid value need only be unique in the context of a particular issuer. Its contents are opaque to the RP. Its syntax is the same as an OAuth 2.0 Client Identifier.

**Proposal:** Back-Channel Logout 1.0 should also clearly define `sid` for its use as ID Token claim.


## returning `sid` as ID Token claim

About returning it as an ID Token claim, it is mentioned in both Front-Channel Logout 1.0 and Back-Channel Logout 1.0 under the related OP metadata fields.

Front-Channel Logout 1.0

> frontchannel_logout_session_supported
> OPTIONAL. Boolean value specifying whether the OP can pass iss (issuer) and sid (session ID) query parameters to identify the RP session with the OP when the frontchannel_logout_uri is used. **If supported, the sid Claim is also included in ID Tokens issued by the OP.** If omitted, the default value is false.


Back-Channel Logout 1.0

> backchannel_logout_session_supported
> OPTIONAL. Boolean value specifying whether the OP can pass a sid (session ID) Claim in the Logout Token to identify the RP session with the OP. **If supported, the sid Claim is also included in ID Tokens issued by the OP.** If omitted, the default value is false.

First, I'm missing a `MUST` / `SHOULD` keyword there. Second, shouldn't it **only be returned** if requested as an essential/voluntary claim (through the claims parameter) **or** if `front/back_channel_logout_session_required` client metadata is `true`, since otherwise the RP has not indicated it has use for this claim?

**Proposal**: On top of only returning `sid` ID Token claim if the OP supports it, `sid` should only be returned if the client indicated it's voluntary or essential through `claims` parameter or through its registered metadata.





More information about the Openid-specs-ab mailing list