goidentity

package module
v6.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2020 License: Apache-2.0 Imports: 6 Imported by: 52

README

goidentity

GoDoc Go Report Card

Please import as below

import "github.com/jcmturner/goidentity/v6"

Documentation

Index

Constants

View Source
const (
	CTXKey = "jcmturner/goidentity"
)

Variables

This section is empty.

Functions

func AddToHTTPRequestContext

func AddToHTTPRequestContext(id Identity, r *http.Request) *http.Request

Types

type Authenticator

type Authenticator interface {
	Authenticate() (Identity, bool, error)
	Mechanism() string // gives the name of the type of authentication mechanism
}

type Identity

type Identity interface {
	UserName() string
	SetUserName(s string)
	Domain() string
	SetDomain(s string)
	DisplayName() string
	SetDisplayName(s string)
	Human() bool
	SetHuman(b bool)
	AuthTime() time.Time
	SetAuthTime(t time.Time)
	AuthzAttributes() []string
	AddAuthzAttribute(a string)
	RemoveAuthzAttribute(a string)
	Authenticated() bool
	SetAuthenticated(b bool)
	Authorized(a string) bool
	SessionID() string
	Expired() bool
	Attributes() map[string]interface{}
	SetAttribute(k string, v interface{})
	SetAttributes(map[string]interface{})
	RemoveAttribute(k string)
	Marshal() ([]byte, error)
	Unmarshal([]byte) error
}

func FromHTTPRequestContext

func FromHTTPRequestContext(r *http.Request) Identity

type User

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

func NewUser

func NewUser(username string) User

func (*User) AddAuthzAttribute

func (u *User) AddAuthzAttribute(a string)

func (*User) Attributes

func (u *User) Attributes() map[string]interface{}

func (*User) AuthTime

func (u *User) AuthTime() time.Time

func (*User) Authenticated

func (u *User) Authenticated() bool

func (*User) Authorized

func (u *User) Authorized(a string) bool

func (*User) AuthzAttributes

func (u *User) AuthzAttributes() []string

func (*User) DisableAuthzAttribute

func (u *User) DisableAuthzAttribute(a string)

func (*User) DisplayName

func (u *User) DisplayName() string

func (*User) Domain

func (u *User) Domain() string

func (*User) EnableAuthzAttribute

func (u *User) EnableAuthzAttribute(a string)

func (*User) Expired

func (u *User) Expired() bool

func (*User) Human

func (u *User) Human() bool

func (*User) Marshal

func (u *User) Marshal() ([]byte, error)

func (*User) RemoveAttribute

func (u *User) RemoveAttribute(k string)

func (*User) RemoveAuthzAttribute

func (u *User) RemoveAuthzAttribute(a string)

func (*User) SessionID

func (u *User) SessionID() string

func (*User) SetAttribute

func (u *User) SetAttribute(k string, v interface{})

func (*User) SetAttributes

func (u *User) SetAttributes(a map[string]interface{})

func (*User) SetAuthTime

func (u *User) SetAuthTime(t time.Time)

func (*User) SetAuthenticated

func (u *User) SetAuthenticated(b bool)

func (*User) SetDisplayName

func (u *User) SetDisplayName(s string)

func (*User) SetDomain

func (u *User) SetDomain(s string)

func (*User) SetExpiry

func (u *User) SetExpiry(t time.Time)

func (*User) SetHuman

func (u *User) SetHuman(b bool)

func (*User) SetUserName

func (u *User) SetUserName(s string)

func (*User) Unmarshal

func (u *User) Unmarshal(b []byte) error

func (*User) UserName

func (u *User) UserName() string

Jump to

Keyboard shortcuts

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