Documentation ¶
Index ¶
- func GeneratePassword(passwordLength, minSpecialChar, minNum, minUpperCase int) string
- type AppMetadata
- type Auth0ClientConfig
- type Auth0Credentials
- type Auth0Manager
- func (am *Auth0Manager) CreateUser(email string, name string, accountID string) (*UserData, error)
- func (am *Auth0Manager) GetAccount(accountID string) ([]*UserData, error)
- func (am *Auth0Manager) GetAllAccounts() (map[string][]*UserData, error)
- func (am *Auth0Manager) GetUserByEmail(email string) ([]*UserData, error)
- func (am *Auth0Manager) GetUserDataByID(userID string, appMetadata AppMetadata) (*UserData, error)
- func (am *Auth0Manager) UpdateUserAppMetadata(userID string, appMetadata AppMetadata) error
- type Config
- type JWTToken
- type JsonParser
- type Manager
- type ManagerCredentials
- type ManagerHTTPClient
- type ManagerHelper
- type UserData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GeneratePassword ¶ added in v0.9.8
GeneratePassword generates user password
Types ¶
type AppMetadata ¶
type AppMetadata struct { // WTAccountID is a NetBird (previously Wiretrustee) account id to update in the IDP // maps to wt_account_id when json.marshal WTAccountID string `json:"wt_account_id,omitempty"` WTPendingInvite *bool `json:"wt_pending_invite"` }
AppMetadata user app metadata to associate with a profile
type Auth0ClientConfig ¶
type Auth0ClientConfig struct { Audience string AuthIssuer string ClientID string ClientSecret string GrantType string }
Auth0ClientConfig auth0 manager client configurations
type Auth0Credentials ¶
type Auth0Credentials struct {
// contains filtered or unexported fields
}
Auth0Credentials auth0 authentication information
func (*Auth0Credentials) Authenticate ¶
func (c *Auth0Credentials) Authenticate() (JWTToken, error)
Authenticate retrieves access token to use the Auth0 Management API
type Auth0Manager ¶
type Auth0Manager struct {
// contains filtered or unexported fields
}
Auth0Manager auth0 manager client instance
func NewAuth0Manager ¶
func NewAuth0Manager(config Auth0ClientConfig, appMetrics telemetry.AppMetrics) (*Auth0Manager, error)
NewAuth0Manager creates a new instance of the Auth0Manager
func (*Auth0Manager) CreateUser ¶ added in v0.9.8
CreateUser creates a new user in Auth0 Idp and sends an invite
func (*Auth0Manager) GetAccount ¶ added in v0.6.4
func (am *Auth0Manager) GetAccount(accountID string) ([]*UserData, error)
GetAccount returns all the users for a given profile. Calls Auth0 API.
func (*Auth0Manager) GetAllAccounts ¶ added in v0.6.4
func (am *Auth0Manager) GetAllAccounts() (map[string][]*UserData, error)
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*Auth0Manager) GetUserByEmail ¶ added in v0.9.8
func (am *Auth0Manager) GetUserByEmail(email string) ([]*UserData, error)
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list. This function can return multiple users. This is due to the Auth0 internals - there could be multiple users with the same email but different connections that are considered as separate accounts (e.g., Google and username/password).
func (*Auth0Manager) GetUserDataByID ¶
func (am *Auth0Manager) GetUserDataByID(userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from auth0 via ID
func (*Auth0Manager) UpdateUserAppMetadata ¶
func (am *Auth0Manager) UpdateUserAppMetadata(userID string, appMetadata AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userId and metadata map
type Config ¶
type Config struct { ManagerType string Auth0ClientCredentials Auth0ClientConfig }
Config an idp configuration struct to be loaded from management server's config file
type JWTToken ¶
type JWTToken struct { AccessToken string `json:"access_token"` ExpiresIn int `json:"expires_in"` Scope string `json:"scope"` TokenType string `json:"token_type"` // contains filtered or unexported fields }
JWTToken a JWT object that holds information of a token
type JsonParser ¶
type JsonParser struct{}
func (JsonParser) Marshal ¶
func (JsonParser) Marshal(v interface{}) ([]byte, error)
func (JsonParser) Unmarshal ¶
func (JsonParser) Unmarshal(data []byte, v interface{}) error
type Manager ¶
type Manager interface { UpdateUserAppMetadata(userId string, appMetadata AppMetadata) error GetUserDataByID(userId string, appMetadata AppMetadata) (*UserData, error) GetAccount(accountId string) ([]*UserData, error) GetAllAccounts() (map[string][]*UserData, error) CreateUser(email string, name string, accountID string) (*UserData, error) GetUserByEmail(email string) ([]*UserData, error) }
Manager idp manager interface
func NewManager ¶
func NewManager(config Config, appMetrics telemetry.AppMetrics) (Manager, error)
NewManager returns a new idp manager based on the configuration that it receives
type ManagerCredentials ¶
ManagerCredentials interface that authenticates using the credential of each type of idp
type ManagerHTTPClient ¶
ManagerHTTPClient http client interface for API calls