mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-12 11:04:25 +00:00
598a4d2d4b
add basic structure and implement first providers for IDP templates to be able to manage and use them in the future
35 lines
750 B
Go
35 lines
750 B
Go
package idp
|
|
|
|
import (
|
|
"context"
|
|
|
|
"golang.org/x/text/language"
|
|
)
|
|
|
|
// Provider is the minimal implementation for a 3rd party authentication provider
|
|
type Provider interface {
|
|
Name() string
|
|
BeginAuth(ctx context.Context, state string, params ...any) (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() string
|
|
IsEmailVerified() bool
|
|
GetPhone() string
|
|
IsPhoneVerified() bool
|
|
GetPreferredLanguage() language.Tag
|
|
GetAvatarURL() string
|
|
GetProfile() string
|
|
}
|