Documentation
¶
Index ¶
- Constants
- func GeneratePassword(passwordLength, minSpecialChar, minNum, minUpperCase int) string
- type AppMetadata
- type Auth0ClientConfig
- type Auth0Credentials
- type Auth0Manager
- func (am *Auth0Manager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
- func (am *Auth0Manager) DeleteUser(ctx context.Context, userID string) error
- func (am *Auth0Manager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error)
- func (am *Auth0Manager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (am *Auth0Manager) GetAllConnections(ctx context.Context, strategy []string) ([]Connection, error)
- func (am *Auth0Manager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (am *Auth0Manager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
- func (am *Auth0Manager) InviteUserByID(ctx context.Context, userID string) error
- func (am *Auth0Manager) UpdateUserAppMetadata(ctx context.Context, userID string, appMetadata AppMetadata) error
- type AuthentikClientConfig
- type AuthentikCredentials
- type AuthentikManager
- func (am *AuthentikManager) CreateUser(_ context.Context, _, _, _, _ string) (*UserData, error)
- func (am *AuthentikManager) DeleteUser(ctx context.Context, userID string) error
- func (am *AuthentikManager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error)
- func (am *AuthentikManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (am *AuthentikManager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (am *AuthentikManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
- func (am *AuthentikManager) InviteUserByID(_ context.Context, _ string) error
- func (am *AuthentikManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
- type AzureClientConfig
- type AzureCredentials
- type AzureManager
- func (am *AzureManager) CreateUser(_ context.Context, _, _, _, _ string) (*UserData, error)
- func (am *AzureManager) DeleteUser(ctx context.Context, userID string) error
- func (am *AzureManager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error)
- func (am *AzureManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (am *AzureManager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (am *AzureManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
- func (am *AzureManager) InviteUserByID(_ context.Context, _ string) error
- func (am *AzureManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
- type ClientConfig
- type Config
- type Connection
- type ConnectionOptions
- type DexClientConfig
- type DexManager
- func (dm *DexManager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
- func (dm *DexManager) DeleteUser(ctx context.Context, userID string) error
- func (dm *DexManager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error)
- func (dm *DexManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (dm *DexManager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (dm *DexManager) GetUserDataByID(ctx context.Context, userID string, _ AppMetadata) (*UserData, error)
- func (dm *DexManager) InviteUserByID(_ context.Context, _ string) error
- func (dm *DexManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
- type EmbeddedIdPConfig
- type EmbeddedIdPManager
- func (m *EmbeddedIdPManager) CreateConnector(ctx context.Context, cfg *dex.ConnectorConfig) (*dex.ConnectorConfig, error)
- func (m *EmbeddedIdPManager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
- func (m *EmbeddedIdPManager) CreateUserWithPassword(ctx context.Context, email, password, name string) (*UserData, error)
- func (m *EmbeddedIdPManager) DeleteConnector(ctx context.Context, id string) error
- func (m *EmbeddedIdPManager) DeleteUser(ctx context.Context, userID string) error
- func (m *EmbeddedIdPManager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error)
- func (m *EmbeddedIdPManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (m *EmbeddedIdPManager) GetAuthorizationEndpoint() string
- func (m *EmbeddedIdPManager) GetCLIClientID() string
- func (m *EmbeddedIdPManager) GetCLIRedirectURLs() []string
- func (m *EmbeddedIdPManager) GetClientIDs() []string
- func (m *EmbeddedIdPManager) GetConnector(ctx context.Context, id string) (*dex.ConnectorConfig, error)
- func (m *EmbeddedIdPManager) GetDefaultScopes() string
- func (m *EmbeddedIdPManager) GetDeviceAuthEndpoint() string
- func (m *EmbeddedIdPManager) GetIssuer() string
- func (m *EmbeddedIdPManager) GetKeyFetcher() nbjwt.KeyFetcher
- func (m *EmbeddedIdPManager) GetKeysLocation() string
- func (m *EmbeddedIdPManager) GetLocalKeysLocation() string
- func (m *EmbeddedIdPManager) GetTokenEndpoint() string
- func (m *EmbeddedIdPManager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (m *EmbeddedIdPManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
- func (m *EmbeddedIdPManager) GetUserIDClaim() string
- func (m *EmbeddedIdPManager) Handler() http.Handler
- func (m *EmbeddedIdPManager) HasNonLocalConnectors(ctx context.Context) (bool, error)
- func (m *EmbeddedIdPManager) InviteUserByID(ctx context.Context, userID string) error
- func (m *EmbeddedIdPManager) IsLocalAuthDisabled() bool
- func (m *EmbeddedIdPManager) ListConnectors(ctx context.Context) ([]*dex.ConnectorConfig, error)
- func (m *EmbeddedIdPManager) Stop(ctx context.Context) error
- func (m *EmbeddedIdPManager) UpdateConnector(ctx context.Context, cfg *dex.ConnectorConfig) error
- func (m *EmbeddedIdPManager) UpdateUserAppMetadata(ctx context.Context, userID string, appMetadata AppMetadata) error
- func (m *EmbeddedIdPManager) UpdateUserPassword(ctx context.Context, currentUserID, targetUserID string, ...) error
- type EmbeddedStorageConfig
- type EmbeddedStorageTypeConfig
- type ExtraConfig
- type GoogleWorkspaceClientConfig
- type GoogleWorkspaceCredentials
- type GoogleWorkspaceManager
- func (gm *GoogleWorkspaceManager) CreateUser(_ context.Context, _, _, _, _ string) (*UserData, error)
- func (gm *GoogleWorkspaceManager) DeleteUser(_ context.Context, userID string) error
- func (gm *GoogleWorkspaceManager) GetAccount(_ context.Context, accountID string) ([]*UserData, error)
- func (gm *GoogleWorkspaceManager) GetAllAccounts(_ context.Context) (map[string][]*UserData, error)
- func (gm *GoogleWorkspaceManager) GetUserByEmail(_ context.Context, email string) ([]*UserData, error)
- func (gm *GoogleWorkspaceManager) GetUserDataByID(_ context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
- func (gm *GoogleWorkspaceManager) InviteUserByID(_ context.Context, _ string) error
- func (gm *GoogleWorkspaceManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
- type JWTToken
- type JsonParser
- type JumpCloudClientConfig
- type JumpCloudCredentials
- type JumpCloudManager
- func (jm *JumpCloudManager) CreateUser(_ context.Context, _, _, _, _ string) (*UserData, error)
- func (jm *JumpCloudManager) DeleteUser(ctx context.Context, userID string) error
- func (jm *JumpCloudManager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error)
- func (jm *JumpCloudManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (jm *JumpCloudManager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (jm *JumpCloudManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
- func (jm *JumpCloudManager) InviteUserByID(_ context.Context, _ string) error
- func (jm *JumpCloudManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
- type KeycloakClientConfig
- type KeycloakCredentials
- type KeycloakManager
- func (km *KeycloakManager) CreateUser(_ context.Context, _, _, _, _ string) (*UserData, error)
- func (km *KeycloakManager) DeleteUser(ctx context.Context, userID string) error
- func (km *KeycloakManager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error)
- func (km *KeycloakManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (km *KeycloakManager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (km *KeycloakManager) GetUserDataByID(ctx context.Context, userID string, _ AppMetadata) (*UserData, error)
- func (km *KeycloakManager) InviteUserByID(_ context.Context, _ string) error
- func (km *KeycloakManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
- type Manager
- type ManagerCredentials
- type ManagerHTTPClient
- type ManagerHelper
- type MockIDP
- func (m *MockIDP) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
- func (m *MockIDP) DeleteUser(ctx context.Context, userID string) error
- func (m *MockIDP) GetAccount(ctx context.Context, accountId string) ([]*UserData, error)
- func (m *MockIDP) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (m *MockIDP) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (m *MockIDP) GetUserDataByID(ctx context.Context, userId string, appMetadata AppMetadata) (*UserData, error)
- func (m *MockIDP) InviteUserByID(ctx context.Context, userID string) error
- func (m *MockIDP) UpdateUserAppMetadata(ctx context.Context, userId string, appMetadata AppMetadata) error
- type OAuthConfigProvider
- type OktaClientConfig
- type OktaCredentials
- type OktaManager
- func (om *OktaManager) CreateUser(_ context.Context, _, _, _, _ string) (*UserData, error)
- func (om *OktaManager) DeleteUser(_ context.Context, userID string) error
- func (om *OktaManager) GetAccount(_ context.Context, accountID string) ([]*UserData, error)
- func (om *OktaManager) GetAllAccounts(_ context.Context) (map[string][]*UserData, error)
- func (om *OktaManager) GetUserByEmail(_ context.Context, email string) ([]*UserData, error)
- func (om *OktaManager) GetUserDataByID(_ context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
- func (om *OktaManager) InviteUserByID(_ context.Context, _ string) error
- func (om *OktaManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
- type OwnerConfig
- type PocketIdClientConfig
- type PocketIdCredentials
- type PocketIdManager
- func (p *PocketIdManager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
- func (p *PocketIdManager) DeleteUser(ctx context.Context, userID string) error
- func (p *PocketIdManager) GetAccount(ctx context.Context, accountId string) ([]*UserData, error)
- func (p *PocketIdManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (p *PocketIdManager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (p *PocketIdManager) GetUserDataByID(ctx context.Context, userId string, appMetadata AppMetadata) (*UserData, error)
- func (p *PocketIdManager) InviteUserByID(ctx context.Context, userID string) error
- func (p *PocketIdManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
- type UserData
- type ZitadelClientConfig
- type ZitadelCredentials
- type ZitadelManager
- func (zm *ZitadelManager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
- func (zm *ZitadelManager) DeleteUser(ctx context.Context, userID string) error
- func (zm *ZitadelManager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error)
- func (zm *ZitadelManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
- func (zm *ZitadelManager) GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
- func (zm *ZitadelManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
- func (zm *ZitadelManager) InviteUserByID(ctx context.Context, userID string) error
- func (zm *ZitadelManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
Constants ¶
const (
// UnsetAccountID is a special key to map users without an account ID
UnsetAccountID = "unset"
)
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,omitempty"`
WTInvitedBy string `json:"wt_invited_by_email,omitempty"`
}
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(ctx context.Context) (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
func (am *Auth0Manager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
CreateUser creates a new user in Auth0 Idp and sends an invite
func (*Auth0Manager) DeleteUser ¶ added in v0.23.2
func (am *Auth0Manager) DeleteUser(ctx context.Context, userID string) error
DeleteUser from Auth0
func (*Auth0Manager) GetAccount ¶ added in v0.6.4
GetAccount returns all the users for a given profile. Calls Auth0 API.
func (*Auth0Manager) GetAllAccounts ¶ added in v0.6.4
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*Auth0Manager) GetAllConnections ¶ added in v0.26.3
func (am *Auth0Manager) GetAllConnections(ctx context.Context, strategy []string) ([]Connection, error)
GetAllConnections returns detailed list of all connections filtered by given params. Note this method is not part of the IDP Manager interface as this is Auth0 specific.
func (*Auth0Manager) GetUserByEmail ¶ added in v0.9.8
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(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from auth0 via ID
func (*Auth0Manager) InviteUserByID ¶ added in v0.21.9
func (am *Auth0Manager) InviteUserByID(ctx context.Context, userID string) error
InviteUserByID resend invitations to users who haven't activated, their accounts prior to the expiration period.
func (*Auth0Manager) UpdateUserAppMetadata ¶
func (am *Auth0Manager) UpdateUserAppMetadata(ctx context.Context, userID string, appMetadata AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userId and metadata map
type AuthentikClientConfig ¶ added in v0.21.0
type AuthentikClientConfig struct {
Issuer string
ClientID string
Username string
Password string
TokenEndpoint string
GrantType string
}
AuthentikClientConfig authentik manager client configurations.
type AuthentikCredentials ¶ added in v0.21.0
type AuthentikCredentials struct {
// contains filtered or unexported fields
}
AuthentikCredentials authentik authentication information.
func (*AuthentikCredentials) Authenticate ¶ added in v0.21.0
func (ac *AuthentikCredentials) Authenticate(ctx context.Context) (JWTToken, error)
Authenticate retrieves access token to use the authentik management API.
type AuthentikManager ¶ added in v0.21.0
type AuthentikManager struct {
// contains filtered or unexported fields
}
AuthentikManager authentik manager client instance.
func NewAuthentikManager ¶ added in v0.21.0
func NewAuthentikManager(config AuthentikClientConfig, appMetrics telemetry.AppMetrics) (*AuthentikManager, error)
NewAuthentikManager creates a new instance of the AuthentikManager.
func (*AuthentikManager) CreateUser ¶ added in v0.21.0
CreateUser creates a new user in authentik Idp and sends an invitation.
func (*AuthentikManager) DeleteUser ¶ added in v0.23.2
func (am *AuthentikManager) DeleteUser(ctx context.Context, userID string) error
DeleteUser from Authentik
func (*AuthentikManager) GetAccount ¶ added in v0.21.0
GetAccount returns all the users for a given profile.
func (*AuthentikManager) GetAllAccounts ¶ added in v0.21.0
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*AuthentikManager) GetUserByEmail ¶ added in v0.21.0
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list.
func (*AuthentikManager) GetUserDataByID ¶ added in v0.21.0
func (am *AuthentikManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from authentik via ID.
func (*AuthentikManager) InviteUserByID ¶ added in v0.21.9
func (am *AuthentikManager) InviteUserByID(_ context.Context, _ string) error
InviteUserByID resend invitations to users who haven't activated, their accounts prior to the expiration period.
func (*AuthentikManager) UpdateUserAppMetadata ¶ added in v0.21.0
func (am *AuthentikManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID and metadata map.
type AzureClientConfig ¶ added in v0.19.0
type AzureClientConfig struct {
ClientID string
ClientSecret string
ObjectID string
GraphAPIEndpoint string
TokenEndpoint string
GrantType string
}
AzureClientConfig azure manager client configurations.
type AzureCredentials ¶ added in v0.19.0
type AzureCredentials struct {
// contains filtered or unexported fields
}
AzureCredentials azure authentication information.
func (*AzureCredentials) Authenticate ¶ added in v0.19.0
func (ac *AzureCredentials) Authenticate(ctx context.Context) (JWTToken, error)
Authenticate retrieves access token to use the azure Management API.
type AzureManager ¶ added in v0.19.0
type AzureManager struct {
ClientID string
ObjectID string
GraphAPIEndpoint string
// contains filtered or unexported fields
}
AzureManager azure manager client instance.
func NewAzureManager ¶ added in v0.19.0
func NewAzureManager(config AzureClientConfig, appMetrics telemetry.AppMetrics) (*AzureManager, error)
NewAzureManager creates a new instance of the AzureManager.
func (*AzureManager) CreateUser ¶ added in v0.19.0
CreateUser creates a new user in azure AD Idp.
func (*AzureManager) DeleteUser ¶ added in v0.23.2
func (am *AzureManager) DeleteUser(ctx context.Context, userID string) error
DeleteUser from Azure.
func (*AzureManager) GetAccount ¶ added in v0.19.0
GetAccount returns all the users for a given profile.
func (*AzureManager) GetAllAccounts ¶ added in v0.19.0
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*AzureManager) GetUserByEmail ¶ added in v0.19.0
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list.
func (*AzureManager) GetUserDataByID ¶ added in v0.19.0
func (am *AzureManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from keycloak via ID.
func (*AzureManager) InviteUserByID ¶ added in v0.21.9
func (am *AzureManager) InviteUserByID(_ context.Context, _ string) error
InviteUserByID resend invitations to users who haven't activated, their accounts prior to the expiration period.
func (*AzureManager) UpdateUserAppMetadata ¶ added in v0.19.0
func (am *AzureManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID.
type ClientConfig ¶ added in v0.21.0
type ClientConfig struct {
Issuer string
TokenEndpoint string
ClientID string
ClientSecret string
GrantType string
}
ClientConfig defines common client configuration for all IdP manager
type Config ¶
type Config struct {
ManagerType string
ClientConfig *ClientConfig
ExtraConfig ExtraConfig
Auth0ClientCredentials *Auth0ClientConfig
AzureClientCredentials *AzureClientConfig
KeycloakClientCredentials *KeycloakClientConfig
ZitadelClientCredentials *ZitadelClientConfig
}
Config an idp configuration struct to be loaded from management server's config file
type Connection ¶ added in v0.26.3
type Connection struct {
Id string `json:"id"`
Name string `json:"name"`
DisplayName string `json:"display_name"`
IsDomainConnection bool `json:"is_domain_connection"`
Realms []string `json:"realms"`
Metadata map[string]string `json:"metadata"`
Options ConnectionOptions `json:"options"`
}
Connections represents a single Auth0 connection https://auth0.com/docs/api/management/v2/connections/get-connections
type ConnectionOptions ¶ added in v0.26.3
type ConnectionOptions struct {
DomainAliases []string `json:"domain_aliases"`
}
type DexClientConfig ¶ added in v0.61.1
type DexClientConfig struct {
// GRPCAddr is the address of Dex's gRPC API (e.g., "localhost:5557")
GRPCAddr string
// Issuer is the Dex issuer URL (e.g., "https://dex.example.com/dex")
Issuer string
}
DexClientConfig Dex manager client configuration.
type DexManager ¶ added in v0.61.1
type DexManager struct {
// contains filtered or unexported fields
}
DexManager implements the Manager interface for Dex IDP. It uses Dex's gRPC API to manage users in the password database.
func NewDexManager ¶ added in v0.61.1
func NewDexManager(config DexClientConfig, appMetrics telemetry.AppMetrics) (*DexManager, error)
NewDexManager creates a new instance of DexManager.
func (*DexManager) CreateUser ¶ added in v0.61.1
func (dm *DexManager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
CreateUser creates a new user in Dex's password database.
func (*DexManager) DeleteUser ¶ added in v0.61.1
func (dm *DexManager) DeleteUser(ctx context.Context, userID string) error
DeleteUser deletes a user from Dex by user ID.
func (*DexManager) GetAccount ¶ added in v0.61.1
GetAccount returns all the users for a given account. Since Dex doesn't have account concepts, this returns all users.
func (*DexManager) GetAllAccounts ¶ added in v0.61.1
GetAllAccounts gets all registered accounts with corresponding user data. Since Dex doesn't have account concepts, all users are returned under UnsetAccountID.
func (*DexManager) GetUserByEmail ¶ added in v0.61.1
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list.
func (*DexManager) GetUserDataByID ¶ added in v0.61.1
func (dm *DexManager) GetUserDataByID(ctx context.Context, userID string, _ AppMetadata) (*UserData, error)
GetUserDataByID requests user data from Dex via user ID.
func (*DexManager) InviteUserByID ¶ added in v0.61.1
func (dm *DexManager) InviteUserByID(_ context.Context, _ string) error
InviteUserByID resends an invitation to a user. Dex doesn't support invitations, so this returns an error.
func (*DexManager) UpdateUserAppMetadata ¶ added in v0.61.1
func (dm *DexManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID and metadata map. Dex doesn't support app metadata, so this is a no-op.
type EmbeddedIdPConfig ¶ added in v0.62.0
type EmbeddedIdPConfig struct {
// Enabled indicates whether the embedded IDP is enabled
Enabled bool
// Issuer is the OIDC issuer URL (e.g., "https://management.netbird.io/oauth2")
Issuer string
// LocalAddress is the management server's local listen address (e.g., ":8080" or "localhost:8080")
// Used for internal JWT validation to avoid external network calls
LocalAddress string
// Storage configuration for the IdP database
Storage EmbeddedStorageConfig
// DashboardRedirectURIs are the OAuth2 redirect URIs for the dashboard client
DashboardRedirectURIs []string
// DashboardRedirectURIs are the OAuth2 redirect URIs for the dashboard client
CLIRedirectURIs []string
// Owner is the initial owner/admin user (optional, can be nil)
Owner *OwnerConfig
// SignKeyRefreshEnabled enables automatic key rotation for signing keys
SignKeyRefreshEnabled bool
// LocalAuthDisabled disables the local (email/password) authentication connector.
// When true, users cannot authenticate via email/password, only via external identity providers.
// Existing local users are preserved and will be able to login again if re-enabled.
// Cannot be enabled if no external identity provider connectors are configured.
LocalAuthDisabled bool
// StaticConnectors are additional connectors to seed during initialization
StaticConnectors []dex.Connector
}
EmbeddedIdPConfig contains configuration for the embedded Dex OIDC identity provider
func (*EmbeddedIdPConfig) ToYAMLConfig ¶ added in v0.62.0
func (c *EmbeddedIdPConfig) ToYAMLConfig() (*dex.YAMLConfig, error)
ToYAMLConfig converts EmbeddedIdPConfig to dex.YAMLConfig.
type EmbeddedIdPManager ¶ added in v0.62.0
type EmbeddedIdPManager struct {
// contains filtered or unexported fields
}
EmbeddedIdPManager implements the Manager interface using the embedded Dex IdP.
func NewEmbeddedIdPManager ¶ added in v0.62.0
func NewEmbeddedIdPManager(ctx context.Context, config *EmbeddedIdPConfig, appMetrics telemetry.AppMetrics) (*EmbeddedIdPManager, error)
NewEmbeddedIdPManager creates a new instance of EmbeddedIdPManager from a configuration. It instantiates the underlying Dex provider internally. Note: Storage defaults are applied in config loading (applyEmbeddedIdPConfig) based on Datadir.
func (*EmbeddedIdPManager) CreateConnector ¶ added in v0.62.0
func (m *EmbeddedIdPManager) CreateConnector(ctx context.Context, cfg *dex.ConnectorConfig) (*dex.ConnectorConfig, error)
CreateConnector creates a new identity provider connector in Dex. Returns the created connector config with the redirect URL populated.
func (*EmbeddedIdPManager) CreateUser ¶ added in v0.62.0
func (m *EmbeddedIdPManager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
CreateUser creates a new user in the embedded IdP.
func (*EmbeddedIdPManager) CreateUserWithPassword ¶ added in v0.62.0
func (m *EmbeddedIdPManager) CreateUserWithPassword(ctx context.Context, email, password, name string) (*UserData, error)
CreateUserWithPassword creates a new user in the embedded IdP with a provided password. Unlike CreateUser which auto-generates a password, this method uses the provided password. This is useful for instance setup where the user provides their own password.
func (*EmbeddedIdPManager) DeleteConnector ¶ added in v0.62.0
func (m *EmbeddedIdPManager) DeleteConnector(ctx context.Context, id string) error
DeleteConnector removes an identity provider connector.
func (*EmbeddedIdPManager) DeleteUser ¶ added in v0.62.0
func (m *EmbeddedIdPManager) DeleteUser(ctx context.Context, userID string) error
DeleteUser deletes a user from the embedded IdP by user ID.
func (*EmbeddedIdPManager) GetAccount ¶ added in v0.62.0
GetAccount returns all the users for a given account. Note: Embedded dex doesn't store account metadata, so this returns all users.
func (*EmbeddedIdPManager) GetAllAccounts ¶ added in v0.62.0
GetAllAccounts gets all registered accounts with corresponding user data. Note: Embedded dex doesn't store account metadata, so all users are indexed under UnsetAccountID.
func (*EmbeddedIdPManager) GetAuthorizationEndpoint ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetAuthorizationEndpoint() string
GetAuthorizationEndpoint returns the OAuth2 authorization endpoint URL.
func (*EmbeddedIdPManager) GetCLIClientID ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetCLIClientID() string
GetCLIClientID returns the client ID for CLI authentication.
func (*EmbeddedIdPManager) GetCLIRedirectURLs ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetCLIRedirectURLs() []string
GetCLIRedirectURLs returns the redirect URLs configured for the CLI client.
func (*EmbeddedIdPManager) GetClientIDs ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetClientIDs() []string
GetClientIDs returns the OAuth2 client IDs configured for this provider.
func (*EmbeddedIdPManager) GetConnector ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetConnector(ctx context.Context, id string) (*dex.ConnectorConfig, error)
GetConnector retrieves an identity provider connector by ID.
func (*EmbeddedIdPManager) GetDefaultScopes ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetDefaultScopes() string
GetDefaultScopes returns the default OAuth2 scopes for authentication.
func (*EmbeddedIdPManager) GetDeviceAuthEndpoint ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetDeviceAuthEndpoint() string
GetDeviceAuthEndpoint returns the OAuth2 device authorization endpoint URL.
func (*EmbeddedIdPManager) GetIssuer ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetIssuer() string
GetIssuer returns the OIDC issuer URL.
func (*EmbeddedIdPManager) GetKeyFetcher ¶ added in v0.67.2
func (m *EmbeddedIdPManager) GetKeyFetcher() nbjwt.KeyFetcher
GetKeyFetcher returns a KeyFetcher that reads keys directly from Dex storage.
func (*EmbeddedIdPManager) GetKeysLocation ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetKeysLocation() string
GetKeysLocation returns the JWKS endpoint URL for token validation.
func (*EmbeddedIdPManager) GetLocalKeysLocation ¶ added in v0.62.2
func (m *EmbeddedIdPManager) GetLocalKeysLocation() string
GetLocalKeysLocation returns the localhost JWKS endpoint URL for internal token validation. Uses the LocalAddress from config (management server's listen address) since embedded Dex is served by the management HTTP server, not a standalone Dex server.
func (*EmbeddedIdPManager) GetTokenEndpoint ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetTokenEndpoint() string
GetTokenEndpoint returns the OAuth2 token endpoint URL.
func (*EmbeddedIdPManager) GetUserByEmail ¶ added in v0.62.0
GetUserByEmail searches users with a given email.
func (*EmbeddedIdPManager) GetUserDataByID ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from the embedded IdP via user ID.
func (*EmbeddedIdPManager) GetUserIDClaim ¶ added in v0.62.0
func (m *EmbeddedIdPManager) GetUserIDClaim() string
GetUserIDClaim returns the JWT claim name used for user identification.
func (*EmbeddedIdPManager) Handler ¶ added in v0.62.0
func (m *EmbeddedIdPManager) Handler() http.Handler
Handler returns the HTTP handler for serving OIDC requests.
func (*EmbeddedIdPManager) HasNonLocalConnectors ¶ added in v0.64.4
func (m *EmbeddedIdPManager) HasNonLocalConnectors(ctx context.Context) (bool, error)
HasNonLocalConnectors checks if there are any identity provider connectors other than local.
func (*EmbeddedIdPManager) InviteUserByID ¶ added in v0.62.0
func (m *EmbeddedIdPManager) InviteUserByID(ctx context.Context, userID string) error
InviteUserByID resends an invitation to a user.
func (*EmbeddedIdPManager) IsLocalAuthDisabled ¶ added in v0.64.4
func (m *EmbeddedIdPManager) IsLocalAuthDisabled() bool
IsLocalAuthDisabled returns whether local authentication is disabled based on configuration.
func (*EmbeddedIdPManager) ListConnectors ¶ added in v0.62.0
func (m *EmbeddedIdPManager) ListConnectors(ctx context.Context) ([]*dex.ConnectorConfig, error)
ListConnectors returns all identity provider connectors.
func (*EmbeddedIdPManager) Stop ¶ added in v0.62.0
func (m *EmbeddedIdPManager) Stop(ctx context.Context) error
Stop gracefully shuts down the embedded IdP provider.
func (*EmbeddedIdPManager) UpdateConnector ¶ added in v0.62.0
func (m *EmbeddedIdPManager) UpdateConnector(ctx context.Context, cfg *dex.ConnectorConfig) error
UpdateConnector updates an existing identity provider connector. Field preservation for partial updates is handled by Provider.UpdateConnector.
func (*EmbeddedIdPManager) UpdateUserAppMetadata ¶ added in v0.62.0
func (m *EmbeddedIdPManager) UpdateUserAppMetadata(ctx context.Context, userID string, appMetadata AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID and metadata map.
func (*EmbeddedIdPManager) UpdateUserPassword ¶ added in v0.64.0
func (m *EmbeddedIdPManager) UpdateUserPassword(ctx context.Context, currentUserID, targetUserID string, oldPassword, newPassword string) error
UpdateUserPassword updates the password for a user in the embedded IdP. It verifies that the current user is changing their own password and validates the current password before updating to the new password.
type EmbeddedStorageConfig ¶ added in v0.62.0
type EmbeddedStorageConfig struct {
// Type is the storage type: "sqlite3" (default) or "postgres"
Type string
// Config contains type-specific configuration
Config EmbeddedStorageTypeConfig
}
EmbeddedStorageConfig holds storage configuration for the embedded IdP.
type EmbeddedStorageTypeConfig ¶ added in v0.62.0
type EmbeddedStorageTypeConfig struct {
// File is the path to the SQLite database file (for sqlite3 type)
File string
// DSN is the connection string for postgres
DSN string
}
EmbeddedStorageTypeConfig contains type-specific storage configuration.
type ExtraConfig ¶ added in v0.21.0
ExtraConfig stores IdP specific config that are unique to individual IdPs
type GoogleWorkspaceClientConfig ¶ added in v0.21.5
GoogleWorkspaceClientConfig Google Workspace manager client configurations.
type GoogleWorkspaceCredentials ¶ added in v0.21.5
type GoogleWorkspaceCredentials struct {
// contains filtered or unexported fields
}
GoogleWorkspaceCredentials Google Workspace authentication information.
func (*GoogleWorkspaceCredentials) Authenticate ¶ added in v0.21.5
func (gc *GoogleWorkspaceCredentials) Authenticate(_ context.Context) (JWTToken, error)
type GoogleWorkspaceManager ¶ added in v0.21.5
type GoogleWorkspaceManager struct {
CustomerID string
// contains filtered or unexported fields
}
GoogleWorkspaceManager Google Workspace manager client instance.
func NewGoogleWorkspaceManager ¶ added in v0.21.5
func NewGoogleWorkspaceManager(ctx context.Context, config GoogleWorkspaceClientConfig, appMetrics telemetry.AppMetrics) (*GoogleWorkspaceManager, error)
NewGoogleWorkspaceManager creates a new instance of the GoogleWorkspaceManager.
func (*GoogleWorkspaceManager) CreateUser ¶ added in v0.21.5
func (gm *GoogleWorkspaceManager) CreateUser(_ context.Context, _, _, _, _ string) (*UserData, error)
CreateUser creates a new user in Google Workspace and sends an invitation.
func (*GoogleWorkspaceManager) DeleteUser ¶ added in v0.23.2
func (gm *GoogleWorkspaceManager) DeleteUser(_ context.Context, userID string) error
DeleteUser from GoogleWorkspace.
func (*GoogleWorkspaceManager) GetAccount ¶ added in v0.21.5
func (gm *GoogleWorkspaceManager) GetAccount(_ context.Context, accountID string) ([]*UserData, error)
GetAccount returns all the users for a given profile.
func (*GoogleWorkspaceManager) GetAllAccounts ¶ added in v0.21.5
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*GoogleWorkspaceManager) GetUserByEmail ¶ added in v0.21.5
func (gm *GoogleWorkspaceManager) GetUserByEmail(_ context.Context, email string) ([]*UserData, error)
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list.
func (*GoogleWorkspaceManager) GetUserDataByID ¶ added in v0.21.5
func (gm *GoogleWorkspaceManager) GetUserDataByID(_ context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from Google Workspace via ID.
func (*GoogleWorkspaceManager) InviteUserByID ¶ added in v0.21.9
func (gm *GoogleWorkspaceManager) InviteUserByID(_ context.Context, _ string) error
InviteUserByID resend invitations to users who haven't activated, their accounts prior to the expiration period.
func (*GoogleWorkspaceManager) UpdateUserAppMetadata ¶ added in v0.21.5
func (gm *GoogleWorkspaceManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID and metadata map.
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 JumpCloudClientConfig ¶ added in v0.23.7
JumpCloudClientConfig JumpCloud manager client configurations.
type JumpCloudCredentials ¶ added in v0.23.7
type JumpCloudCredentials struct {
// contains filtered or unexported fields
}
JumpCloudCredentials JumpCloud authentication information.
func (*JumpCloudCredentials) Authenticate ¶ added in v0.23.7
func (jc *JumpCloudCredentials) Authenticate(_ context.Context) (JWTToken, error)
Authenticate retrieves access token to use the JumpCloud user API.
type JumpCloudManager ¶ added in v0.23.7
type JumpCloudManager struct {
// contains filtered or unexported fields
}
JumpCloudManager JumpCloud manager client instance.
func NewJumpCloudManager ¶ added in v0.23.7
func NewJumpCloudManager(config JumpCloudClientConfig, appMetrics telemetry.AppMetrics) (*JumpCloudManager, error)
NewJumpCloudManager creates a new instance of the JumpCloudManager.
func (*JumpCloudManager) CreateUser ¶ added in v0.23.7
CreateUser creates a new user in JumpCloud Idp and sends an invitation.
func (*JumpCloudManager) DeleteUser ¶ added in v0.23.7
func (jm *JumpCloudManager) DeleteUser(ctx context.Context, userID string) error
DeleteUser from jumpCloud directory
func (*JumpCloudManager) GetAccount ¶ added in v0.23.7
GetAccount returns all the users for a given profile.
func (*JumpCloudManager) GetAllAccounts ¶ added in v0.23.7
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*JumpCloudManager) GetUserByEmail ¶ added in v0.23.7
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list.
func (*JumpCloudManager) GetUserDataByID ¶ added in v0.23.7
func (jm *JumpCloudManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from JumpCloud via ID.
func (*JumpCloudManager) InviteUserByID ¶ added in v0.23.7
func (jm *JumpCloudManager) InviteUserByID(_ context.Context, _ string) error
InviteUserByID resend invitations to users who haven't activated, their accounts prior to the expiration period.
func (*JumpCloudManager) UpdateUserAppMetadata ¶ added in v0.23.7
func (jm *JumpCloudManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID and metadata map.
type KeycloakClientConfig ¶ added in v0.14.5
type KeycloakClientConfig struct {
ClientID string
ClientSecret string
AdminEndpoint string
TokenEndpoint string
GrantType string
}
KeycloakClientConfig keycloak manager client configurations.
type KeycloakCredentials ¶ added in v0.14.5
type KeycloakCredentials struct {
// contains filtered or unexported fields
}
KeycloakCredentials keycloak authentication information.
func (*KeycloakCredentials) Authenticate ¶ added in v0.14.5
func (kc *KeycloakCredentials) Authenticate(ctx context.Context) (JWTToken, error)
Authenticate retrieves access token to use the keycloak Management API.
type KeycloakManager ¶ added in v0.14.5
type KeycloakManager struct {
// contains filtered or unexported fields
}
KeycloakManager keycloak manager client instance.
func NewKeycloakManager ¶ added in v0.14.5
func NewKeycloakManager(config KeycloakClientConfig, appMetrics telemetry.AppMetrics) (*KeycloakManager, error)
NewKeycloakManager creates a new instance of the KeycloakManager.
func (*KeycloakManager) CreateUser ¶ added in v0.14.5
CreateUser creates a new user in keycloak Idp and sends an invite.
func (*KeycloakManager) DeleteUser ¶ added in v0.23.2
func (km *KeycloakManager) DeleteUser(ctx context.Context, userID string) error
DeleteUser from Keycloak by user ID.
func (*KeycloakManager) GetAccount ¶ added in v0.14.5
GetAccount returns all the users for a given account profile.
func (*KeycloakManager) GetAllAccounts ¶ added in v0.14.5
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*KeycloakManager) GetUserByEmail ¶ added in v0.14.5
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list.
func (*KeycloakManager) GetUserDataByID ¶ added in v0.14.5
func (km *KeycloakManager) GetUserDataByID(ctx context.Context, userID string, _ AppMetadata) (*UserData, error)
GetUserDataByID requests user data from keycloak via ID.
func (*KeycloakManager) InviteUserByID ¶ added in v0.21.9
func (km *KeycloakManager) InviteUserByID(_ context.Context, _ string) error
InviteUserByID resend invitations to users who haven't activated, their accounts prior to the expiration period.
func (*KeycloakManager) UpdateUserAppMetadata ¶ added in v0.14.5
func (km *KeycloakManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID and metadata map.
type Manager ¶
type Manager interface {
UpdateUserAppMetadata(ctx context.Context, userId string, appMetadata AppMetadata) error
GetUserDataByID(ctx context.Context, userId string, appMetadata AppMetadata) (*UserData, error)
GetAccount(ctx context.Context, accountId string) ([]*UserData, error)
GetAllAccounts(ctx context.Context) (map[string][]*UserData, error)
CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
GetUserByEmail(ctx context.Context, email string) ([]*UserData, error)
InviteUserByID(ctx context.Context, userID string) error
DeleteUser(ctx context.Context, userID string) error
}
Manager idp manager interface
func NewManager ¶
func NewManager(ctx context.Context, 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
type ManagerHelper ¶
type ManagerHelper interface {
Marshal(v interface{}) ([]byte, error)
Unmarshal(data []byte, v interface{}) error
}
ManagerHelper helper
type MockIDP ¶ added in v0.24.4
type MockIDP struct {
UpdateUserAppMetadataFunc func(ctx context.Context, userId string, appMetadata AppMetadata) error
GetUserDataByIDFunc func(ctx context.Context, userId string, appMetadata AppMetadata) (*UserData, error)
GetAccountFunc func(ctx context.Context, accountId string) ([]*UserData, error)
GetAllAccountsFunc func(ctx context.Context) (map[string][]*UserData, error)
CreateUserFunc func(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
GetUserByEmailFunc func(ctx context.Context, email string) ([]*UserData, error)
InviteUserByIDFunc func(ctx context.Context, userID string) error
DeleteUserFunc func(ctx context.Context, userID string) error
}
MockIDP is a mock implementation of the IDP interface
func (*MockIDP) CreateUser ¶ added in v0.24.4
func (m *MockIDP) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
CreateUser is a mock implementation of the IDP interface CreateUser method
func (*MockIDP) DeleteUser ¶ added in v0.24.4
DeleteUser is a mock implementation of the IDP interface DeleteUser method
func (*MockIDP) GetAccount ¶ added in v0.24.4
GetAccount is a mock implementation of the IDP interface GetAccount method
func (*MockIDP) GetAllAccounts ¶ added in v0.24.4
GetAllAccounts is a mock implementation of the IDP interface GetAllAccounts method
func (*MockIDP) GetUserByEmail ¶ added in v0.24.4
GetUserByEmail is a mock implementation of the IDP interface GetUserByEmail method
func (*MockIDP) GetUserDataByID ¶ added in v0.24.4
func (m *MockIDP) GetUserDataByID(ctx context.Context, userId string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID is a mock implementation of the IDP interface GetUserDataByID method
func (*MockIDP) InviteUserByID ¶ added in v0.24.4
InviteUserByID is a mock implementation of the IDP interface InviteUserByID method
func (*MockIDP) UpdateUserAppMetadata ¶ added in v0.24.4
func (m *MockIDP) UpdateUserAppMetadata(ctx context.Context, userId string, appMetadata AppMetadata) error
UpdateUserAppMetadata is a mock implementation of the IDP interface UpdateUserAppMetadata method
type OAuthConfigProvider ¶ added in v0.62.0
type OAuthConfigProvider interface {
GetIssuer() string
// GetKeysLocation returns the public JWKS endpoint URL (uses external issuer URL)
GetKeysLocation() string
// GetLocalKeysLocation returns the localhost JWKS endpoint URL for internal use.
// Management server has embedded Dex and can validate tokens via localhost,
// avoiding external network calls and DNS resolution issues during startup.
GetLocalKeysLocation() string
// GetKeyFetcher returns a KeyFetcher that reads keys directly from the IDP storage,
// or nil if direct key fetching is not supported (falls back to HTTP).
GetKeyFetcher() nbjwt.KeyFetcher
GetClientIDs() []string
GetUserIDClaim() string
GetTokenEndpoint() string
GetDeviceAuthEndpoint() string
GetAuthorizationEndpoint() string
GetDefaultScopes() string
GetCLIClientID() string
GetCLIRedirectURLs() []string
}
OAuthConfigProvider defines the interface for OAuth configuration needed by auth flows.
type OktaClientConfig ¶ added in v0.21.0
type OktaClientConfig struct {
APIToken string
Issuer string
TokenEndpoint string
GrantType string
}
OktaClientConfig okta manager client configurations.
type OktaCredentials ¶ added in v0.21.0
type OktaCredentials struct {
// contains filtered or unexported fields
}
OktaCredentials okta authentication information.
func (*OktaCredentials) Authenticate ¶ added in v0.21.0
func (oc *OktaCredentials) Authenticate(_ context.Context) (JWTToken, error)
Authenticate retrieves access token to use the okta user API.
type OktaManager ¶ added in v0.21.0
type OktaManager struct {
// contains filtered or unexported fields
}
OktaManager okta manager client instance.
func NewOktaManager ¶ added in v0.21.0
func NewOktaManager(config OktaClientConfig, appMetrics telemetry.AppMetrics) (*OktaManager, error)
NewOktaManager creates a new instance of the OktaManager.
func (*OktaManager) CreateUser ¶ added in v0.21.0
CreateUser creates a new user in okta Idp and sends an invitation.
func (*OktaManager) DeleteUser ¶ added in v0.23.2
func (om *OktaManager) DeleteUser(_ context.Context, userID string) error
DeleteUser from Okta
func (*OktaManager) GetAccount ¶ added in v0.21.0
GetAccount returns all the users for a given profile.
func (*OktaManager) GetAllAccounts ¶ added in v0.21.0
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*OktaManager) GetUserByEmail ¶ added in v0.21.0
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list.
func (*OktaManager) GetUserDataByID ¶ added in v0.21.0
func (om *OktaManager) GetUserDataByID(_ context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from keycloak via ID.
func (*OktaManager) InviteUserByID ¶ added in v0.21.9
func (om *OktaManager) InviteUserByID(_ context.Context, _ string) error
InviteUserByID resend invitations to users who haven't activated, their accounts prior to the expiration period.
func (*OktaManager) UpdateUserAppMetadata ¶ added in v0.21.0
func (om *OktaManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID and metadata map.
type OwnerConfig ¶ added in v0.62.0
type OwnerConfig struct {
// Email is the user's email address (required)
Email string
// Hash is the bcrypt hash of the user's password (required)
Hash string
// Username is the display name for the user (optional, defaults to email)
Username string
}
OwnerConfig represents the initial owner/admin user for the embedded IdP.
type PocketIdClientConfig ¶ added in v0.59.7
type PocketIdCredentials ¶ added in v0.59.7
type PocketIdCredentials struct {
// contains filtered or unexported fields
}
func (PocketIdCredentials) Authenticate ¶ added in v0.59.7
func (p PocketIdCredentials) Authenticate(_ context.Context) (JWTToken, error)
type PocketIdManager ¶ added in v0.59.7
type PocketIdManager struct {
// contains filtered or unexported fields
}
func NewPocketIdManager ¶ added in v0.59.7
func NewPocketIdManager(config PocketIdClientConfig, appMetrics telemetry.AppMetrics) (*PocketIdManager, error)
func (*PocketIdManager) CreateUser ¶ added in v0.59.7
func (*PocketIdManager) DeleteUser ¶ added in v0.59.7
func (p *PocketIdManager) DeleteUser(ctx context.Context, userID string) error
func (*PocketIdManager) GetAccount ¶ added in v0.59.7
func (*PocketIdManager) GetAllAccounts ¶ added in v0.59.7
func (*PocketIdManager) GetUserByEmail ¶ added in v0.59.7
func (*PocketIdManager) GetUserDataByID ¶ added in v0.59.7
func (p *PocketIdManager) GetUserDataByID(ctx context.Context, userId string, appMetadata AppMetadata) (*UserData, error)
func (*PocketIdManager) InviteUserByID ¶ added in v0.59.7
func (p *PocketIdManager) InviteUserByID(ctx context.Context, userID string) error
func (*PocketIdManager) UpdateUserAppMetadata ¶ added in v0.59.7
func (p *PocketIdManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
type UserData ¶
type UserData struct {
Email string `json:"email"`
Name string `json:"name"`
ID string `json:"user_id"`
AppMetadata AppMetadata `json:"app_metadata"`
Password string `json:"-"` // Plain password, only set on user creation, excluded from JSON
}
func (*UserData) MarshalBinary ¶ added in v0.39.0
func (*UserData) UnmarshalBinary ¶ added in v0.39.0
type ZitadelClientConfig ¶ added in v0.20.0
type ZitadelClientConfig struct {
ClientID string
ClientSecret string
GrantType string
TokenEndpoint string
ManagementEndpoint string
PAT string
}
ZitadelClientConfig zitadel manager client configurations.
type ZitadelCredentials ¶ added in v0.20.0
type ZitadelCredentials struct {
// contains filtered or unexported fields
}
ZitadelCredentials zitadel authentication information.
func (*ZitadelCredentials) Authenticate ¶ added in v0.20.0
func (zc *ZitadelCredentials) Authenticate(ctx context.Context) (JWTToken, error)
Authenticate retrieves access token to use the Zitadel Management API.
type ZitadelManager ¶ added in v0.20.0
type ZitadelManager struct {
// contains filtered or unexported fields
}
ZitadelManager zitadel manager client instance.
func NewZitadelManager ¶ added in v0.20.0
func NewZitadelManager(config ZitadelClientConfig, appMetrics telemetry.AppMetrics) (*ZitadelManager, error)
NewZitadelManager creates a new instance of the ZitadelManager.
func (*ZitadelManager) CreateUser ¶ added in v0.20.0
func (zm *ZitadelManager) CreateUser(ctx context.Context, email, name, accountID, invitedByEmail string) (*UserData, error)
CreateUser creates a new user in zitadel Idp and sends an invite via Zitadel.
func (*ZitadelManager) DeleteUser ¶ added in v0.23.2
func (zm *ZitadelManager) DeleteUser(ctx context.Context, userID string) error
DeleteUser from Zitadel
func (*ZitadelManager) GetAccount ¶ added in v0.20.0
GetAccount returns all the users for a given profile.
func (*ZitadelManager) GetAllAccounts ¶ added in v0.20.0
GetAllAccounts gets all registered accounts with corresponding user data. It returns a list of users indexed by accountID.
func (*ZitadelManager) GetUserByEmail ¶ added in v0.20.0
GetUserByEmail searches users with a given email. If no users have been found, this function returns an empty list.
func (*ZitadelManager) GetUserDataByID ¶ added in v0.20.0
func (zm *ZitadelManager) GetUserDataByID(ctx context.Context, userID string, appMetadata AppMetadata) (*UserData, error)
GetUserDataByID requests user data from zitadel via ID.
func (*ZitadelManager) InviteUserByID ¶ added in v0.21.9
func (zm *ZitadelManager) InviteUserByID(ctx context.Context, userID string) error
InviteUserByID resend invitations to users who haven't activated, their accounts prior to the expiration period.
func (*ZitadelManager) UpdateUserAppMetadata ¶ added in v0.20.0
func (zm *ZitadelManager) UpdateUserAppMetadata(_ context.Context, _ string, _ AppMetadata) error
UpdateUserAppMetadata updates user app metadata based on userID and metadata map. Metadata values are base64 encoded.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package migration provides utility functions for migrating from the external IdP solution in pre v0.62.0 to the new embedded IdP manager (Dex based), which is the default in v0.62.0 and later.
|
Package migration provides utility functions for migrating from the external IdP solution in pre v0.62.0 to the new embedded IdP manager (Dex based), which is the default in v0.62.0 and later. |