Documentation ¶
Index ¶
- Constants
- func ForgeAuthorizationHeader(token string) string
- func GetActiveOrganization(ctx context.Context) string
- func GetUser(ctx context.Context) string
- type AuthClaims
- type Interceptors
- type Tokens
- func (t *Tokens) CreateLoginToken(name string, activeOrganization string) (string, error)
- func (t *Tokens) CreatePasswordToken(name string) (string, error)
- func (t *Tokens) CreateVerificationToken(name string) (string, error)
- func (t *Tokens) ValidateToken(signedString string, tokenType string) (*AuthClaims, error)
- type ValidateUser
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 ForgeAuthorizationHeader ¶ added in v0.10.0
ForgeAuthorizationHeader forges an amp authorization header
func GetActiveOrganization ¶
GetActiveOrganization gets the active organization from context metadata
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
type Interceptors ¶ added in v0.12.0
type Interceptors struct { Tokens *Tokens IsUserValid ValidateUser }
func (*Interceptors) Interceptor ¶ added in v0.12.0
func (i *Interceptors) Interceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (h interface{}, err error)
Interceptor is an interceptor checking for authentication tokens
func (*Interceptors) StreamInterceptor ¶ added in v0.12.0
func (i *Interceptors) StreamInterceptor(srv interface{}, stream grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error
StreamInterceptor is an interceptor checking for authentication tokens
type Tokens ¶ added in v0.12.0
type Tokens struct {
// contains filtered or unexported fields
}
func (*Tokens) CreateLoginToken ¶ added in v0.12.0
CreateLoginToken creates a login token for a given account
func (*Tokens) CreatePasswordToken ¶ added in v0.12.0
CreatePasswordToken creates a password token for a given user name
func (*Tokens) CreateVerificationToken ¶ added in v0.12.0
CreateVerificationToken creates a verification token for a given user
func (*Tokens) ValidateToken ¶ added in v0.12.0
func (t *Tokens) ValidateToken(signedString string, tokenType string) (*AuthClaims, error)
ValidateToken validates a token and return its claims
type ValidateUser ¶ added in v0.13.0
Click to show internal directories.
Click to hide internal directories.