passport

package module
v0.0.0-...-9a2157c Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2019 License: MIT Imports: 7 Imported by: 0

README

passport

oauth implementation for golang

All steps to implement

Step one: set database of passport with the passport.SetDB function. This function requires an instance of *sql.DB

Step two: set signKey with the passport.SetSignKey function. This function requires an byte arry. This key is used to sign the jwt tokens. Keep this secret

Step Three: set token expire time with the passport.SetTokenExpireTime function. This function requires an integer, this integer should be the time in seconds.

Step Four: set refresh token expire time with the passport.SetRefreshTokenExpireTime funcion. This funcion requires an integer, this integer should be the time in seconds.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RandStringBytesMaskImprSrc

func RandStringBytesMaskImprSrc(n int) []byte

RandStringBytesMaskImprSrc get random byte array

Types

type Claims

type Claims struct {
	User
	jwt.StandardClaims
}

Claims for setting claims in tokens

type Passport

type Passport struct {
	// contains filtered or unexported fields
}

Passport struct

func (*Passport) CheckBearer

func (passport *Passport) CheckBearer(bearer []byte) (*Claims, error)

CheckBearer input bearer output: claims and error

func (*Passport) GetToken

func (passport *Passport) GetToken(user User) ([]byte, []byte, error)

GetToken for a user, adding all claims

func (*Passport) ParseToken

func (passport *Passport) ParseToken(tokenString []byte) (*Claims, error)

ParseToken enter token returning claims

func (*Passport) ParseUnverified

func (passport *Passport) ParseUnverified(bearer string, claims jwt.Claims) *Claims

ParseUnverified dont use unless token is allready checkt

func (*Passport) RefreshToken

func (passport *Passport) RefreshToken(refreshToken []byte) ([]byte, []byte, error)

RefreshToken for a user, adding all claims

func (*Passport) SetDB

func (passport *Passport) SetDB(db *sql.DB)

SetDB setting db for passport to connect with

func (*Passport) SetRefreshTokenExpireTime

func (passport *Passport) SetRefreshTokenExpireTime(timeInSeconds int)

SetRefreshTokenExpireTime setting refresh token expire time

func (*Passport) SetSignKey

func (passport *Passport) SetSignKey(key []byte)

SetSignKey setting signkey for signing tokens

func (*Passport) SetTokenExpireTime

func (passport *Passport) SetTokenExpireTime(timeInSeconds int)

SetTokenExpireTime setting token expire time

type User

type User struct {
	ID         int
	Name       []byte
	Email      []byte
	TokenID    []byte
	Role       []byte
	CustomerID int
}

User struct

Jump to

Keyboard shortcuts

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