fosite: github.com/ory/fosite/token/jwt Index | Files

package jwt

import "github.com/ory/fosite/token/jwt"

Index

Package Files

claims.go claims_id_token.go claims_jwt.go header.go jwt.go

func Copy Uses

func Copy(elements map[string]interface{}) (result map[string]interface{})

Copy will copy all elements in a map and return a new representational map

func Filter Uses

func Filter(elements map[string]interface{}, keys ...string) map[string]interface{}

Filter will filter out elemets based on keys in a given input map na key-slice

func ToString Uses

func ToString(i interface{}) string

ToString will return a string representation of a map

func ToTime Uses

func ToTime(i interface{}) time.Time

ToTime will try to convert a given input to a time.Time structure

type Headers Uses

type Headers struct {
    Extra map[string]interface{}
}

Headers is the jwt headers

func NewHeaders Uses

func NewHeaders() *Headers

func (*Headers) Add Uses

func (h *Headers) Add(key string, value interface{})

Add will add a key-value pair to the extra field

func (*Headers) Get Uses

func (h *Headers) Get(key string) interface{}

Get will get a value from the extra field based on a given key

func (*Headers) ToMap Uses

func (h *Headers) ToMap() map[string]interface{}

ToMap will transform the headers to a map structure

func (Headers) ToMapClaims Uses

func (h Headers) ToMapClaims() jwt.MapClaims

ToMapClaims will return a jwt-go MapClaims representaion

type IDTokenClaims Uses

type IDTokenClaims struct {
    JTI                                 string
    Issuer                              string
    Subject                             string
    Audience                            []string
    Nonce                               string
    ExpiresAt                           time.Time
    IssuedAt                            time.Time
    RequestedAt                         time.Time
    AuthTime                            time.Time
    AccessTokenHash                     string
    AuthenticationContextClassReference string
    CodeHash                            string
    Extra                               map[string]interface{}
}

IDTokenClaims represent the claims used in open id connect requests

func (*IDTokenClaims) Add Uses

func (c *IDTokenClaims) Add(key string, value interface{})

Add will add a key-value pair to the extra field

func (*IDTokenClaims) Get Uses

func (c *IDTokenClaims) Get(key string) interface{}

Get will get a value from the extra field based on a given key

func (*IDTokenClaims) ToMap Uses

func (c *IDTokenClaims) ToMap() map[string]interface{}

ToMap will transform the headers to a map structure

func (IDTokenClaims) ToMapClaims Uses

func (c IDTokenClaims) ToMapClaims() jwt.MapClaims

ToMapClaims will return a jwt-go MapClaims representation

type JWTClaims Uses

type JWTClaims struct {
    Subject   string
    Issuer    string
    Audience  []string
    JTI       string
    IssuedAt  time.Time
    NotBefore time.Time
    ExpiresAt time.Time
    Scope     []string
    Extra     map[string]interface{}
}

JWTClaims represent a token's claims.

func (*JWTClaims) Add Uses

func (c *JWTClaims) Add(key string, value interface{})

Add will add a key-value pair to the extra field

func (*JWTClaims) FromMap Uses

func (c *JWTClaims) FromMap(m map[string]interface{})

FromMap will set the claims based on a mapping

func (*JWTClaims) FromMapClaims Uses

func (c *JWTClaims) FromMapClaims(mc jwt.MapClaims)

FromMapClaims will populate claims from a jwt-go MapClaims representation

func (JWTClaims) Get Uses

func (c JWTClaims) Get(key string) interface{}

Get will get a value from the extra field based on a given key

func (*JWTClaims) ToMap Uses

func (c *JWTClaims) ToMap() map[string]interface{}

ToMap will transform the headers to a map structure

func (JWTClaims) ToMapClaims Uses

func (c JWTClaims) ToMapClaims() jwt.MapClaims

ToMapClaims will return a jwt-go MapClaims representation

func (*JWTClaims) With Uses

func (c *JWTClaims) With(expiry time.Time, scope, audience []string) JWTClaimsContainer

func (*JWTClaims) WithDefaults Uses

func (c *JWTClaims) WithDefaults(iat time.Time, issuer string) JWTClaimsContainer

type JWTClaimsContainer Uses

type JWTClaimsContainer interface {
    // With returns a copy of itself with expiresAt, scope, audience set to the given values.
    With(expiry time.Time, scope, audience []string) JWTClaimsContainer

    // WithDefaults returns a copy of itself with issuedAt and issuer set to the given default values. If those
    // values are already set in the claims, they will not be updated.
    WithDefaults(iat time.Time, issuer string) JWTClaimsContainer

    // ToMapClaims returns the claims as a github.com/dgrijalva/jwt-go.MapClaims type.
    ToMapClaims() jwt.MapClaims
}

type JWTClaimsDefaults Uses

type JWTClaimsDefaults struct {
    ExpiresAt time.Time
    IssuedAt  time.Time
    Issuer    string
    Scope     []string
}

type JWTStrategy Uses

type JWTStrategy interface {
    Generate(ctx context.Context, claims jwt.Claims, header Mapper) (string, string, error)
    Validate(ctx context.Context, token string) (string, error)
    Hash(ctx context.Context, in []byte) ([]byte, error)
    Decode(ctx context.Context, token string) (*jwt.Token, error)
    GetSignature(ctx context.Context, token string) (string, error)
    GetSigningMethodLength() int
}

type Mapper Uses

type Mapper interface {
    ToMap() map[string]interface{}
    Add(key string, value interface{})
    Get(key string) interface{}
}

Mapper is the interface used internally to map key-value pairs

type RS256JWTStrategy Uses

type RS256JWTStrategy struct {
    PrivateKey *rsa.PrivateKey
}

RS256JWTStrategy is responsible for generating and validating JWT challenges

func (*RS256JWTStrategy) Decode Uses

func (j *RS256JWTStrategy) Decode(ctx context.Context, token string) (*jwt.Token, error)

Decode will decode a JWT token

func (*RS256JWTStrategy) Generate Uses

func (j *RS256JWTStrategy) Generate(ctx context.Context, claims jwt.Claims, header Mapper) (string, string, error)

Generate generates a new authorize code or returns an error. set secret

func (*RS256JWTStrategy) GetSignature Uses

func (j *RS256JWTStrategy) GetSignature(ctx context.Context, token string) (string, error)

GetSignature will return the signature of a token

func (*RS256JWTStrategy) GetSigningMethodLength Uses

func (j *RS256JWTStrategy) GetSigningMethodLength() int

GetSigningMethodLength will return the length of the signing method

func (*RS256JWTStrategy) Hash Uses

func (j *RS256JWTStrategy) Hash(ctx context.Context, in []byte) ([]byte, error)

Hash will return a given hash based on the byte input or an error upon fail

func (*RS256JWTStrategy) Validate Uses

func (j *RS256JWTStrategy) Validate(ctx context.Context, token string) (string, error)

Validate validates a token and returns its signature or an error if the token is not valid.

Package jwt imports 10 packages (graph) and is imported by 42 packages. Updated 2018-11-05. Refresh now. Tools for package owners.