mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-23 16:27:35 +00:00
18788b6045
* only set prompt if no login_hint is set * update to current state and cleanup (cherry picked from commit 0386fe7f96cc8c9ff178d29c9bbee3bfe0a1a568)
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package idp
|
|
|
|
import (
|
|
"context"
|
|
|
|
"golang.org/x/text/language"
|
|
|
|
"github.com/zitadel/zitadel/internal/domain"
|
|
)
|
|
|
|
// Provider is the minimal implementation for a 3rd party authentication provider
|
|
type Provider interface {
|
|
Name() string
|
|
BeginAuth(ctx context.Context, state string, params ...Parameter) (Session, error)
|
|
IsLinkingAllowed() bool
|
|
IsCreationAllowed() bool
|
|
IsAutoCreation() bool
|
|
IsAutoUpdate() bool
|
|
}
|
|
|
|
// User contains the information of a federated user.
|
|
type User interface {
|
|
GetID() string
|
|
GetFirstName() string
|
|
GetLastName() string
|
|
GetDisplayName() string
|
|
GetNickname() string
|
|
GetPreferredUsername() string
|
|
GetEmail() domain.EmailAddress
|
|
IsEmailVerified() bool
|
|
GetPhone() domain.PhoneNumber
|
|
IsPhoneVerified() bool
|
|
GetPreferredLanguage() language.Tag
|
|
GetAvatarURL() string
|
|
GetProfile() string
|
|
}
|
|
|
|
// Parameter allows to pass specific parameter to the BeginAuth function
|
|
type Parameter interface {
|
|
setValue()
|
|
}
|
|
|
|
// UserAgentID allows to pass the user agent ID of the auth request to BeginAuth
|
|
type UserAgentID string
|
|
|
|
func (p UserAgentID) setValue() {}
|
|
|
|
// LoginHintParam allows to pass a login_hint to BeginAuth
|
|
type LoginHintParam string
|
|
|
|
func (p LoginHintParam) setValue() {}
|