jwts

package
v0.0.0-...-ae94dc8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2019 License: LGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//DefaultContextKey jwts
	DefaultContextKey = "iris-jwt"
)

Variables

This section is empty.

Functions

func ConfigJWT

func ConfigJWT()

OnError default error handler

func OnError(ctx context.Context, err string) {
	supports.Error(ctx, iris.StatusUnauthorized, supports.Token_Failur, nil)
}

jwt中间件配置

func FromAuthHeader

func FromAuthHeader(ctx context.Context) (string, error)

below 3 method is get token from url FromAuthHeader is a "TokenExtractor" that takes a give context and extracts the JWT token from the Authorization header.

func GenerateToken

func GenerateToken(user *models.User) (string, error)

在登录成功的时候生成token

func ParseToken

func ParseToken(ctx context.Context) (*models.User, bool)

解析token的信息为当前用户

func Serve

func Serve(ctx context.Context) bool

Serve the middleware's action

Types

type Claims

type Claims struct {
	Id       int64  `json:"id"`
	Username string `json:"username"`
	//Password string `json:"password"`
	//User models.User `json:"user"`
	jwt.StandardClaims
}

type Config

type Config struct {
	// The function that will return the Key to validate the JWT.
	// It can be either a shared secret or a public key.
	// Default value: nil
	ValidationKeyGetter jwt.Keyfunc
	// The name of the property in the request where the user (&token) information
	// from the JWT will be stored.
	// Default value: "jwts"
	ContextKey string
	// The function that will be called when there's an error validating the token
	// Default value:
	ErrorHandler errorHandler
	// A boolean indicating if the credentials are required or not
	// Default value: false
	CredentialsOptional bool
	// A function that extracts the token from the request
	// Default: FromAuthHeader (i.e., from Authorization header as bearer token)
	Extractor TokenExtractor
	// Debug flag turns on debugging output
	// Default: false
	Debug bool
	// When set, all requests with the OPTIONS method will use authentication
	// if you enable this option you should register your route with iris.Options(...) also
	// Default: false
	EnableAuthOnOptions bool
	// When set, the middelware verifies that tokens are signed with the specific signing algorithm
	// If the signing method is not constant the ValidationKeyGetter callback can be used to implement additional checks
	// Important to avoid security issues described here: https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/
	// Default: nil
	SigningMethod jwt.SigningMethod
	// When set, the expiration time of token will be check every time
	// if the token was expired, expiration error will be returned
	// Default: false
	Expiration bool
}

Config is a struct for specifying configuration options for the jwts middleware.

type Jwts

type Jwts struct {
	Config Config
}

Middleware the middleware for JSON Web tokens authentication method

func (*Jwts) CheckJWT

func (m *Jwts) CheckJWT(ctx context.Context) error

CheckJWT the main functionality, checks for token

func (*Jwts) Get

func (m *Jwts) Get(ctx context.Context) *jwt.Token

Get returns the user (&token) information for this client/request

type TokenExtractor

type TokenExtractor func(context.Context) (string, error)

TokenExtractor is a function that takes a context as input and returns either a token or an error. An error should only be returned if an attempt to specify a token was found, but the information was somehow incorrectly formed. In the case where a token is simply not present, this should not be treated as an error. An empty string should be returned in that case.

func FromFirst

func FromFirst(extractors ...TokenExtractor) TokenExtractor

below 3 method is get token from url FromFirst returns a function that runs multiple token extractors and takes the first token it finds

func FromParameter

func FromParameter(param string) TokenExtractor

below 3 method is get token from url FromParameter returns a function that extracts the token from the specified query string parameter

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL