Version: v3.8.0+incompatible Latest Latest

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

Go to latest
Published: Feb 26, 2018 License: Apache-2.0 Imports: 1 Imported by: 0




View Source
const (
	// IdentityDisplayNameKey is the key for an optional display name in an identity's Extra map
	IdentityDisplayNameKey = "name"
	// IdentityEmailKey is the key for an optional email address in an identity's Extra map
	IdentityEmailKey = "email"
	// IdentityPreferredUsernameKey is the key for an optional preferred username in an identity's Extra map.
	// This is useful when the immutable providerUserName is different than the login used to authenticate
	// If present, this extra value is used as the preferred username
	IdentityPreferredUsernameKey = "preferred_username"

	ImpersonateUserHeader      = "Impersonate-User"
	ImpersonateGroupHeader     = "Impersonate-Group"
	ImpersonateUserScopeHeader = "Impersonate-User-Scope"


This section is empty.


This section is empty.


type Client

type Client interface {
	GetId() string
	GetSecret() string
	GetRedirectUri() string
	GetUserData() interface{}

type DefaultUserIdentityInfo

type DefaultUserIdentityInfo struct {
	ProviderName     string
	ProviderUserName string
	Extra            map[string]string

func NewDefaultUserIdentityInfo

func NewDefaultUserIdentityInfo(providerName, providerUserName string) *DefaultUserIdentityInfo

NewDefaultUserIdentityInfo returns a DefaultUserIdentityInfo with a non-nil Extra component

func (*DefaultUserIdentityInfo) GetExtra

func (i *DefaultUserIdentityInfo) GetExtra() map[string]string

func (*DefaultUserIdentityInfo) GetIdentityName

func (i *DefaultUserIdentityInfo) GetIdentityName() string

func (*DefaultUserIdentityInfo) GetProviderName

func (i *DefaultUserIdentityInfo) GetProviderName() string

func (*DefaultUserIdentityInfo) GetProviderUserName

func (i *DefaultUserIdentityInfo) GetProviderUserName() string

type Grant

type Grant struct {
	Client      Client
	Scope       string
	Expiration  int64
	RedirectURI string

type UserIdentityInfo

type UserIdentityInfo interface {
	// GetIdentityName returns the name of this identity. It must be equal to GetProviderName() + ":" + GetProviderUserName()
	GetIdentityName() string
	// GetProviderName returns the name of the provider of this identity.
	GetProviderName() string
	// GetProviderUserName uniquely identifies this particular identity for this provider.  It is NOT guaranteed to be unique across providers
	GetProviderUserName() string
	// GetExtra is a map to allow providers to add additional fields that they understand
	GetExtra() map[string]string

UserIdentityInfo contains information about an identity. Identities are distinct from users. An authentication server of some kind (like oauth for example) describes an identity. Our system controls the users mapped to this identity.

type UserIdentityMapper

type UserIdentityMapper interface {
	// UserFor takes an identity, ignores the passed identity.Provider, forces the provider value to some other value and then creates the mapping.
	// It returns the corresponding user.Info
	UserFor(identityInfo UserIdentityInfo) (user.Info, error)

UserIdentityMapper maps UserIdentities into user.Info objects to allow different user abstractions within auth code.

Source Files

Jump to

Keyboard shortcuts

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