mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-14 18:30:21 +00:00
64 lines
2.3 KiB
Go
64 lines
2.3 KiB
Go
|
package jwt
|
||
|
|
||
|
// RegisteredClaims are a structured version of the JWT Claims Set,
|
||
|
// restricted to Registered Claim Names, as referenced at
|
||
|
// https://datatracker.ietf.org/doc/html/rfc7519#section-4.1
|
||
|
//
|
||
|
// This type can be used on its own, but then additional private and
|
||
|
// public claims embedded in the JWT will not be parsed. The typical use-case
|
||
|
// therefore is to embedded this in a user-defined claim type.
|
||
|
//
|
||
|
// See examples for how to use this with your own claim types.
|
||
|
type RegisteredClaims struct {
|
||
|
// the `iss` (Issuer) claim. See https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1
|
||
|
Issuer string `json:"iss,omitempty"`
|
||
|
|
||
|
// the `sub` (Subject) claim. See https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2
|
||
|
Subject string `json:"sub,omitempty"`
|
||
|
|
||
|
// the `aud` (Audience) claim. See https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3
|
||
|
Audience ClaimStrings `json:"aud,omitempty"`
|
||
|
|
||
|
// the `exp` (Expiration Time) claim. See https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4
|
||
|
ExpiresAt *NumericDate `json:"exp,omitempty"`
|
||
|
|
||
|
// the `nbf` (Not Before) claim. See https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5
|
||
|
NotBefore *NumericDate `json:"nbf,omitempty"`
|
||
|
|
||
|
// the `iat` (Issued At) claim. See https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6
|
||
|
IssuedAt *NumericDate `json:"iat,omitempty"`
|
||
|
|
||
|
// the `jti` (JWT ID) claim. See https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7
|
||
|
ID string `json:"jti,omitempty"`
|
||
|
}
|
||
|
|
||
|
// GetExpirationTime implements the Claims interface.
|
||
|
func (c RegisteredClaims) GetExpirationTime() (*NumericDate, error) {
|
||
|
return c.ExpiresAt, nil
|
||
|
}
|
||
|
|
||
|
// GetNotBefore implements the Claims interface.
|
||
|
func (c RegisteredClaims) GetNotBefore() (*NumericDate, error) {
|
||
|
return c.NotBefore, nil
|
||
|
}
|
||
|
|
||
|
// GetIssuedAt implements the Claims interface.
|
||
|
func (c RegisteredClaims) GetIssuedAt() (*NumericDate, error) {
|
||
|
return c.IssuedAt, nil
|
||
|
}
|
||
|
|
||
|
// GetAudience implements the Claims interface.
|
||
|
func (c RegisteredClaims) GetAudience() (ClaimStrings, error) {
|
||
|
return c.Audience, nil
|
||
|
}
|
||
|
|
||
|
// GetIssuer implements the Claims interface.
|
||
|
func (c RegisteredClaims) GetIssuer() (string, error) {
|
||
|
return c.Issuer, nil
|
||
|
}
|
||
|
|
||
|
// GetSubject implements the Claims interface.
|
||
|
func (c RegisteredClaims) GetSubject() (string, error) {
|
||
|
return c.Subject, nil
|
||
|
}
|