auth

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: May 22, 2017 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AuthorizationHeader   = "authorization" // HTTP2 authorization header name, cf. https://http2.github.io/http2-spec/compression.html#static.table.definition
	AuthorizationScheme   = "amp"
	TokenKey              = "amp.token"
	UserKey               = "amp.user"
	ActiveOrganizationKey = "amp.organization"
	CredentialsRequired   = "credentials required"
)

Keys used in context metadata

View Source
const (
	TokenIssuer           = "amplifier"
	TokenTypeVerification = "verification"
	TokenTypeLogin        = "login"
	TokenTypePassword     = "password"

	VerificationTokenValidFor = time.Hour
	LoginTokenValidFor        = 24 * time.Hour
	PasswordTokenValidFor     = time.Hour
)

Token constants

Variables

This section is empty.

Functions

func CreateLoginToken

func CreateLoginToken(name string, activeOrganization string) (string, error)

CreateLoginToken creates a login token for a given account

func CreatePasswordToken

func CreatePasswordToken(name string) (string, error)

CreatePasswordToken creates a password token for a given user name

func CreateVerificationToken

func CreateVerificationToken(name string) (string, error)

CreateVerificationToken creates a verification token for a given user

func ForgeAuthorizationHeader added in v0.10.0

func ForgeAuthorizationHeader(token string) string

ForgeAuthorizationHeader forges an amp authorization header

func GetActiveOrganization

func GetActiveOrganization(ctx context.Context) string

GetActiveOrganization gets the active organization from context metadata

func GetUser

func GetUser(ctx context.Context) string

GetUser gets the user from context metadata

func Interceptor

func Interceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (i interface{}, err error)

Interceptor is an interceptor checking for authentication tokens

func StreamInterceptor

func StreamInterceptor(srv interface{}, stream grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error

StreamInterceptor is an interceptor checking for authentication tokens

Types

type AuthClaims added in v0.9.1

type AuthClaims struct {
	Type               string `json:"Type"`
	AccountName        string `json:"AccountName"`
	ActiveOrganization string `json:"ActiveOrganization"`
	jwt.StandardClaims
}

AuthClaims represents authentication claims

func ValidateToken

func ValidateToken(signedString string, tokenType string) (*AuthClaims, error)

ValidateToken validates a token and return its claims

Jump to

Keyboard shortcuts

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