123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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
- }
|