Documentation ¶
Index ¶
- Variables
- type Backend
- type KCIdentifierBackend
- func (b *KCIdentifierBackend) DestroySession(ctx context.Context, sessionRef *string) error
- func (b *KCIdentifierBackend) GetUser(ctx context.Context, userEntryID string, sessionRef *string) (UserFromBackend, error)
- func (b *KCIdentifierBackend) Logon(ctx context.Context, audience, username, password string) (bool, *string, *string, UserFromBackend, error)
- func (b *KCIdentifierBackend) Name() string
- func (b *KCIdentifierBackend) RefreshSession(ctx context.Context, userID string, sessionRef *string, ...) error
- func (b *KCIdentifierBackend) RegisterManagers(mgrs *managers.Managers) error
- func (b *KCIdentifierBackend) ResolveUserByUsername(ctx context.Context, username string) (UserFromBackend, error)
- func (b *KCIdentifierBackend) RunWithContext(ctx context.Context) error
- func (b *KCIdentifierBackend) ScopesMeta() *scopes.Scopes
- func (b *KCIdentifierBackend) ScopesSupported() []string
- func (b *KCIdentifierBackend) UserClaims(userID string, authorizedScopes map[string]bool) map[string]interface{}
- type LDAPIdentifierBackend
- func (b *LDAPIdentifierBackend) DestroySession(ctx context.Context, sessionRef *string) error
- func (b *LDAPIdentifierBackend) GetUser(ctx context.Context, entryID string, sessionRef *string) (UserFromBackend, error)
- func (b *LDAPIdentifierBackend) Logon(ctx context.Context, audience, username, password string) (bool, *string, *string, UserFromBackend, error)
- func (b *LDAPIdentifierBackend) Name() string
- func (b *LDAPIdentifierBackend) RefreshSession(ctx context.Context, userID string, sessionRef *string, ...) error
- func (b *LDAPIdentifierBackend) ResolveUserByUsername(ctx context.Context, username string) (UserFromBackend, error)
- func (b *LDAPIdentifierBackend) RunWithContext(ctx context.Context) error
- func (b *LDAPIdentifierBackend) ScopesMeta() *scopes.Scopes
- func (b *LDAPIdentifierBackend) ScopesSupported() []string
- func (b *LDAPIdentifierBackend) UserClaims(userID string, authorizedScopes map[string]bool) map[string]interface{}
- type UserFromBackend
Constants ¶
This section is empty.
Variables ¶
var ( KCServerDefaultFamilyNameProperty = kcc.PR_SURNAME_A KCServerDefaultGivenNameProperty = kcc.PR_GIVEN_NAME_A )
Property mappings for Kopano Server user meta data.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend interface { RunWithContext(context.Context) error Logon(ctx context.Context, audience string, username string, password string) (success bool, userID *string, sessionRef *string, user UserFromBackend, err error) GetUser(ctx context.Context, userID string, sessionRef *string) (user UserFromBackend, err error) ResolveUserByUsername(ctx context.Context, username string) (user UserFromBackend, err error) RefreshSession(ctx context.Context, userID string, sessionRef *string, claims map[string]interface{}) error DestroySession(ctx context.Context, sessionRef *string) error UserClaims(userID string, authorizedScopes map[string]bool) map[string]interface{} ScopesSupported() []string ScopesMeta() *scopes.Scopes Name() string }
A Backend is an identifier Backend providing functionality to logon and to fetch user meta data.
type KCIdentifierBackend ¶
type KCIdentifierBackend struct {
// contains filtered or unexported fields
}
KCIdentifierBackend is a backend for the Identifier which connects to Kopano Core via kcc-go.
func NewKCIdentifierBackend ¶
func NewKCIdentifierBackend(c *config.Config, client *kcc.KCC, useGlobalSession bool, username string, password string) (*KCIdentifierBackend, error)
NewKCIdentifierBackend creates a new KCIdentifierBackend with the provided parameters.
func (*KCIdentifierBackend) DestroySession ¶
func (b *KCIdentifierBackend) DestroySession(ctx context.Context, sessionRef *string) error
DestroySession implements the Backend interface providing destroy to KC session.
func (*KCIdentifierBackend) GetUser ¶
func (b *KCIdentifierBackend) GetUser(ctx context.Context, userEntryID string, sessionRef *string) (UserFromBackend, error)
GetUser implements the Backend interface, providing user meta data retrieval for the user specified by the userID. Requests are bound to the provided context.
func (*KCIdentifierBackend) Logon ¶
func (b *KCIdentifierBackend) Logon(ctx context.Context, audience, username, password string) (bool, *string, *string, UserFromBackend, error)
Logon implements the Backend interface, enabling Logon with user name and password as provided. Requests are bound to the provided context.
func (*KCIdentifierBackend) Name ¶
func (b *KCIdentifierBackend) Name() string
Name implements the Backend interface.
func (*KCIdentifierBackend) RefreshSession ¶
func (b *KCIdentifierBackend) RefreshSession(ctx context.Context, userID string, sessionRef *string, claims map[string]interface{}) error
RefreshSession implements the Backend interface providing refresh to KC session.
func (*KCIdentifierBackend) RegisterManagers ¶
func (b *KCIdentifierBackend) RegisterManagers(mgrs *managers.Managers) error
RegisterManagers registers the provided managers,
func (*KCIdentifierBackend) ResolveUserByUsername ¶
func (b *KCIdentifierBackend) ResolveUserByUsername(ctx context.Context, username string) (UserFromBackend, error)
ResolveUserByUsername implements the Beckend interface, providing lookup for user by providing the username. Requests are bound to the provided context.
func (*KCIdentifierBackend) RunWithContext ¶
func (b *KCIdentifierBackend) RunWithContext(ctx context.Context) error
RunWithContext implements the Backend interface. KCIdentifierBackends keep a session to the accociated Kopano Core client. This session is auto renewed and auto rerestablished and is bound to the provided Context.
func (*KCIdentifierBackend) ScopesMeta ¶
func (b *KCIdentifierBackend) ScopesMeta() *scopes.Scopes
ScopesMeta implements the Backend interface, providing meta data for supported scopes.
func (*KCIdentifierBackend) ScopesSupported ¶
func (b *KCIdentifierBackend) ScopesSupported() []string
ScopesSupported implements the Backend interface, providing supported scopes when running this backend.
type LDAPIdentifierBackend ¶
type LDAPIdentifierBackend struct {
// contains filtered or unexported fields
}
LDAPIdentifierBackend is a backend for the Identifier which connects LDAP.
func NewLDAPIdentifierBackend ¶
func NewLDAPIdentifierBackend( c *config.Config, tlsConfig *tls.Config, uriString, bindDN, bindPassword, baseDN, scopeString, filter string, subAttributes []string, mappedAttributes map[string]string, ) (*LDAPIdentifierBackend, error)
NewLDAPIdentifierBackend creates a new LDAPIdentifierBackend with the provided parameters.
func (*LDAPIdentifierBackend) DestroySession ¶
func (b *LDAPIdentifierBackend) DestroySession(ctx context.Context, sessionRef *string) error
DestroySession implements the Backend interface providing destroy to KC session.
func (*LDAPIdentifierBackend) GetUser ¶
func (b *LDAPIdentifierBackend) GetUser(ctx context.Context, entryID string, sessionRef *string) (UserFromBackend, error)
GetUser implements the Backend interface, providing user meta data retrieval for the user specified by the userID. Requests are bound to the provided context.
func (*LDAPIdentifierBackend) Logon ¶
func (b *LDAPIdentifierBackend) Logon(ctx context.Context, audience, username, password string) (bool, *string, *string, UserFromBackend, error)
Logon implements the Backend interface, enabling Logon with user name and password as provided. Requests are bound to the provided context.
func (*LDAPIdentifierBackend) Name ¶
func (b *LDAPIdentifierBackend) Name() string
Name implements the Backend interface.
func (*LDAPIdentifierBackend) RefreshSession ¶
func (b *LDAPIdentifierBackend) RefreshSession(ctx context.Context, userID string, sessionRef *string, claims map[string]interface{}) error
RefreshSession implements the Backend interface.
func (*LDAPIdentifierBackend) ResolveUserByUsername ¶
func (b *LDAPIdentifierBackend) ResolveUserByUsername(ctx context.Context, username string) (UserFromBackend, error)
ResolveUserByUsername implements the Beckend interface, providing lookup for user by providing the username. Requests are bound to the provided context.
func (*LDAPIdentifierBackend) RunWithContext ¶
func (b *LDAPIdentifierBackend) RunWithContext(ctx context.Context) error
RunWithContext implements the Backend interface.
func (*LDAPIdentifierBackend) ScopesMeta ¶
func (b *LDAPIdentifierBackend) ScopesMeta() *scopes.Scopes
ScopesMeta implements the Backend interface, providing meta data for supported scopes.
func (*LDAPIdentifierBackend) ScopesSupported ¶
func (b *LDAPIdentifierBackend) ScopesSupported() []string
ScopesSupported implements the Backend interface, providing supported scopes when running this backend.
type UserFromBackend ¶
type UserFromBackend interface { identity.UserWithUsername BackendClaims() map[string]interface{} }
UserFromBackend are users as provided by backends which can have additional claims together with a user name.