diff --git a/pkg/oidc/introspection.go b/pkg/oidc/introspection.go index 9cf82655..60cea22c 100644 --- a/pkg/oidc/introspection.go +++ b/pkg/oidc/introspection.go @@ -11,6 +11,10 @@ type ClientAssertionParams struct { ClientAssertionType string `schema:"client_assertion_type"` } +// IntrospectionResponse implements RFC 7662, section 2.2 and +// OpenID Connect Core 1.0, section 5.1 (UserInfo). +// https://www.rfc-editor.org/rfc/rfc7662.html#section-2.2. +// https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims. type IntrospectionResponse struct { Active bool `json:"active"` Scope SpaceDelimitedArray `json:"scope,omitempty"` diff --git a/pkg/oidc/token.go b/pkg/oidc/token.go index 20303465..62614caa 100644 --- a/pkg/oidc/token.go +++ b/pkg/oidc/token.go @@ -105,6 +105,10 @@ func (a *AccessTokenClaims) UnmarshalJSON(data []byte) error { return unmarshalJSONMulti(data, (*atcAlias)(a), &a.Claims) } +// IDTokenClaims extends TokenClaims by further implementing +// OpenID Connect Core 1.0, sections 3.1.3.6 (Code flow), +// 3.2.2.10 (implicit), 3.3.2.11 (Hybrid) and 5.1 (UserInfo). +// https://openid.net/specs/openid-connect-core-1_0.html#toc type IDTokenClaims struct { TokenClaims NotBefore Time `json:"nbf,omitempty"` diff --git a/pkg/oidc/userinfo.go b/pkg/oidc/userinfo.go index 3df8b6a6..caff58e9 100644 --- a/pkg/oidc/userinfo.go +++ b/pkg/oidc/userinfo.go @@ -1,5 +1,7 @@ package oidc +// UserInfo implements OpenID Connect Core 1.0, section 5.1. +// https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims. type UserInfo struct { Subject string `json:"sub,omitempty"` UserInfoProfile