Documentation ¶
Index ¶
- Constants
- func AddressToModel(address *Address) *model.Address
- func AuthRequestToModel(request *AuthRequest) *model.AuthRequest
- func BrowserInfoToModel(info *BrowserInfo) *model.BrowserInfo
- func EmailCodeToModel(code *EmailCode) *model.EmailCode
- func EmailToModel(email *Email) *model.Email
- func ExternalIDPToModel(idp *ExternalIDP) *model.ExternalIDP
- func ExternalIDPsToModel(externalIDPs []*ExternalIDP) []*model.ExternalIDP
- func PasswordCodeToModel(code *PasswordCode) *model.PasswordCode
- func PasswordToModel(password *Password) *model.Password
- func PhoneCodeToModel(code *PhoneCode) *model.PhoneCode
- func PhoneToModel(phone *Phone) *model.Phone
- func ProfileToModel(profile *Profile) *model.Profile
- func TokenToModel(token *Token) *model.Token
- type Address
- type AuthRequest
- type BrowserInfo
- type Email
- type EmailCode
- type ExternalIDP
- type Human
- type InitUserCode
- type LanguageTag
- type Machine
- type MachineKey
- type OTP
- type OTPVerified
- type Password
- type PasswordChange
- type PasswordCode
- type Phone
- type PhoneCode
- type Profile
- type Token
- type User
- type WebAuthNLogin
- type WebAuthNSignCount
- type WebAuthNToken
- type WebAuthNTokenID
- type WebAuthNVerify
Constants ¶
View Source
const ( UserAggregate models.AggregateType = "user" UserUserNameAggregate models.AggregateType = "user.username" UserExternalIDPAggregate models.AggregateType = "user.human.externalidp" )
aggregates
View Source
const ( UserAdded models.EventType = "user.added" UserRegistered models.EventType = "user.selfregistered" InitializedUserCodeAdded models.EventType = "user.initialization.code.added" InitializedUserCodeSent models.EventType = "user.initialization.code.sent" InitializedUserCheckSucceeded models.EventType = "user.initialization.check.succeeded" InitializedUserCheckFailed models.EventType = "user.initialization.check.failed" UserUserNameReserved models.EventType = "user.username.reserved" UserUserNameReleased models.EventType = "user.username.released" UserPasswordChanged models.EventType = "user.password.changed" UserPasswordCodeAdded models.EventType = "user.password.code.added" UserPasswordCodeSent models.EventType = "user.password.code.sent" UserPasswordCheckSucceeded models.EventType = "user.password.check.succeeded" UserPasswordCheckFailed models.EventType = "user.password.check.failed" UserEmailChanged models.EventType = "user.email.changed" UserEmailVerified models.EventType = "user.email.verified" UserEmailVerificationFailed models.EventType = "user.email.verification.failed" UserEmailCodeAdded models.EventType = "user.email.code.added" UserEmailCodeSent models.EventType = "user.email.code.sent" UserPhoneChanged models.EventType = "user.phone.changed" UserPhoneRemoved models.EventType = "user.phone.removed" UserPhoneVerified models.EventType = "user.phone.verified" UserPhoneVerificationFailed models.EventType = "user.phone.verification.failed" UserPhoneCodeAdded models.EventType = "user.phone.code.added" UserPhoneCodeSent models.EventType = "user.phone.code.sent" UserProfileChanged models.EventType = "user.profile.changed" UserAddressChanged models.EventType = "user.address.changed" UserUserNameChanged models.EventType = "user.username.changed" MFAOTPAdded models.EventType = "user.mfa.otp.added" MFAOTPVerified models.EventType = "user.mfa.otp.verified" MFAOTPRemoved models.EventType = "user.mfa.otp.removed" MFAOTPCheckSucceeded models.EventType = "user.mfa.otp.check.succeeded" MFAOTPCheckFailed models.EventType = "user.mfa.otp.check.failed" MFAInitSkipped models.EventType = "user.mfa.init.skipped" SignedOut models.EventType = "user.signed.out" )
the following consts are for user v1 events
View Source
const ( UserNameReserved models.EventType = "user.username.reserved" UserNameReleased models.EventType = "user.username.released" UserLocked models.EventType = "user.locked" UserUnlocked models.EventType = "user.unlocked" UserDeactivated models.EventType = "user.deactivated" UserReactivated models.EventType = "user.reactivated" UserRemoved models.EventType = "user.removed" UserTokenAdded models.EventType = "user.token.added" DomainClaimed models.EventType = "user.domain.claimed" DomainClaimedSent models.EventType = "user.domain.claimed.sent" UserMetadataSet models.EventType = "user.metadata.set" UserMetadataRemoved models.EventType = "user.metadata.removed" UserMetadataRemovedAll models.EventType = "user.metadata.removed.all" )
the following consts are for user(v2)
View Source
const ( HumanAdded models.EventType = "user.human.added" HumanRegistered models.EventType = "user.human.selfregistered" InitializedHumanCodeAdded models.EventType = "user.human.initialization.code.added" InitializedHumanCodeSent models.EventType = "user.human.initialization.code.sent" InitializedHumanCheckSucceeded models.EventType = "user.human.initialization.check.succeeded" InitializedHumanCheckFailed models.EventType = "user.human.initialization.check.failed" HumanPasswordChanged models.EventType = "user.human.password.changed" HumanPasswordCodeAdded models.EventType = "user.human.password.code.added" HumanPasswordCodeSent models.EventType = "user.human.password.code.sent" HumanPasswordCheckSucceeded models.EventType = "user.human.password.check.succeeded" HumanPasswordCheckFailed models.EventType = "user.human.password.check.failed" HumanExternalLoginCheckSucceeded models.EventType = "user.human.externallogin.check.succeeded" HumanExternalIDPReserved models.EventType = "user.human.externalidp.reserved" HumanExternalIDPReleased models.EventType = "user.human.externalidp.released" HumanExternalIDPAdded models.EventType = "user.human.externalidp.added" HumanExternalIDPRemoved models.EventType = "user.human.externalidp.removed" HumanExternalIDPCascadeRemoved models.EventType = "user.human.externalidp.cascade.removed" HumanAvatarAdded models.EventType = "user.human.avatar.added" HumanAvatarRemoved models.EventType = "user.human.avatar.removed" HumanEmailChanged models.EventType = "user.human.email.changed" HumanEmailVerified models.EventType = "user.human.email.verified" HumanEmailVerificationFailed models.EventType = "user.human.email.verification.failed" HumanEmailCodeAdded models.EventType = "user.human.email.code.added" HumanEmailCodeSent models.EventType = "user.human.email.code.sent" HumanPhoneChanged models.EventType = "user.human.phone.changed" HumanPhoneRemoved models.EventType = "user.human.phone.removed" HumanPhoneVerified models.EventType = "user.human.phone.verified" HumanPhoneVerificationFailed models.EventType = "user.human.phone.verification.failed" HumanPhoneCodeAdded models.EventType = "user.human.phone.code.added" HumanPhoneCodeSent models.EventType = "user.human.phone.code.sent" HumanProfileChanged models.EventType = "user.human.profile.changed" HumanAddressChanged models.EventType = "user.human.address.changed" HumanMFAOTPAdded models.EventType = "user.human.mfa.otp.added" HumanMFAOTPVerified models.EventType = "user.human.mfa.otp.verified" HumanMFAOTPRemoved models.EventType = "user.human.mfa.otp.removed" HumanMFAOTPCheckSucceeded models.EventType = "user.human.mfa.otp.check.succeeded" HumanMFAOTPCheckFailed models.EventType = "user.human.mfa.otp.check.failed" HumanMFAInitSkipped models.EventType = "user.human.mfa.init.skipped" HumanMFAU2FTokenAdded models.EventType = "user.human.mfa.u2f.token.added" HumanMFAU2FTokenVerified models.EventType = "user.human.mfa.u2f.token.verified" HumanMFAU2FTokenSignCountChanged models.EventType = "user.human.mfa.u2f.token.signcount.changed" HumanMFAU2FTokenRemoved models.EventType = "user.human.mfa.u2f.token.removed" HumanMFAU2FTokenBeginLogin models.EventType = "user.human.mfa.u2f.token.begin.login" HumanMFAU2FTokenCheckSucceeded models.EventType = "user.human.mfa.u2f.token.check.succeeded" HumanMFAU2FTokenCheckFailed models.EventType = "user.human.mfa.u2f.token.check.failed" HumanPasswordlessTokenAdded models.EventType = "user.human.passwordless.token.added" HumanPasswordlessTokenVerified models.EventType = "user.human.passwordless.token.verified" HumanPasswordlessTokenChangeSignCount models.EventType = "user.human.passwordless.token.signcount.changed" HumanPasswordlessTokenRemoved models.EventType = "user.human.passwordless.token.removed" HumanPasswordlessTokenBeginLogin models.EventType = "user.human.passwordless.token.begin.login" HumanPasswordlessTokenCheckSucceeded models.EventType = "user.human.passwordless.token.check.succeeded" HumanPasswordlessTokenCheckFailed models.EventType = "user.human.passwordless.token.check.failed" HumanSignedOut models.EventType = "user.human.signed.out" )
the following consts are for user(v2).human
View Source
const ( MachineAdded models.EventType = "user.machine.added" MachineChanged models.EventType = "user.machine.changed" MachineKeyAdded models.EventType = "user.machine.key.added" MachineKeyRemoved models.EventType = "user.machine.key.removed" )
the following consts are for user(v2).machines
View Source
const (
UserVersion = "v2"
)
Variables ¶
This section is empty.
Functions ¶
func AddressToModel ¶
func AuthRequestToModel ¶
func AuthRequestToModel(request *AuthRequest) *model.AuthRequest
func BrowserInfoToModel ¶
func BrowserInfoToModel(info *BrowserInfo) *model.BrowserInfo
func EmailCodeToModel ¶
func EmailToModel ¶
func ExternalIDPToModel ¶
func ExternalIDPToModel(idp *ExternalIDP) *model.ExternalIDP
func ExternalIDPsToModel ¶
func ExternalIDPsToModel(externalIDPs []*ExternalIDP) []*model.ExternalIDP
func PasswordCodeToModel ¶
func PasswordCodeToModel(code *PasswordCode) *model.PasswordCode
func PasswordToModel ¶
func PhoneCodeToModel ¶
func PhoneToModel ¶
func ProfileToModel ¶
func TokenToModel ¶
Types ¶
type Address ¶
type Address struct { es_models.ObjectRoot Country string `json:"country,omitempty"` Locality string `json:"locality,omitempty"` PostalCode string `json:"postalCode,omitempty"` Region string `json:"region,omitempty"` StreetAddress string `json:"streetAddress,omitempty"` }
func AddressFromModel ¶
type AuthRequest ¶
type AuthRequest struct { ID string `json:"id,omitempty"` UserAgentID string `json:"userAgentID,omitempty"` SelectedIDPConfigID string `json:"selectedIDPConfigID,omitempty"` *BrowserInfo }
func AuthRequestFromModel ¶
func AuthRequestFromModel(request *model.AuthRequest) *AuthRequest
type BrowserInfo ¶
type BrowserInfo struct { UserAgent string `json:"userAgent,omitempty"` AcceptLanguage string `json:"acceptLanguage,omitempty"` RemoteIP net.IP `json:"remoteIP,omitempty"` }
func BrowserInfoFromModel ¶
func BrowserInfoFromModel(info *model.BrowserInfo) *BrowserInfo
type Email ¶
type Email struct { es_models.ObjectRoot EmailAddress string `json:"email,omitempty"` IsEmailVerified bool `json:"-"` }
func EmailFromModel ¶
type EmailCode ¶
type EmailCode struct { es_models.ObjectRoot Code *crypto.CryptoValue `json:"code,omitempty"` Expiry time.Duration `json:"expiry,omitempty"` }
func EmailCodeFromModel ¶
type ExternalIDP ¶
type ExternalIDP struct { es_models.ObjectRoot IDPConfigID string `json:"idpConfigId,omitempty"` UserID string `json:"userId,omitempty"` DisplayName string `json:"displayName,omitempty"` }
func ExternalIDPFromModel ¶
func ExternalIDPFromModel(idp *model.ExternalIDP) *ExternalIDP
func ExternalIDPsFromModel ¶
func ExternalIDPsFromModel(externalIDPs []*model.ExternalIDP) []*ExternalIDP
func GetExternalIDP ¶
func GetExternalIDP(idps []*ExternalIDP, id string) (int, *ExternalIDP)
type Human ¶
type Human struct { *Password *Profile *Email *Phone *Address ExternalIDPs []*ExternalIDP `json:"-"` InitCode *InitUserCode `json:"-"` EmailCode *EmailCode `json:"-"` PhoneCode *PhoneCode `json:"-"` PasswordCode *PasswordCode `json:"-"` OTP *OTP `json:"-"` U2FTokens []*WebAuthNToken `json:"-"` PasswordlessTokens []*WebAuthNToken `json:"-"` U2FLogins []*WebAuthNLogin `json:"-"` PasswordlessLogins []*WebAuthNLogin `json:"-"` // contains filtered or unexported fields }
func (*Human) ComputeObject ¶
func (h *Human) ComputeObject()
type InitUserCode ¶
type InitUserCode struct { es_models.ObjectRoot Code *crypto.CryptoValue `json:"code,omitempty"` Expiry time.Duration `json:"expiry,omitempty"` }
type LanguageTag ¶
func (*LanguageTag) MarshalBinary ¶
func (t *LanguageTag) MarshalBinary() ([]byte, error)
func (LanguageTag) MarshalJSON ¶
func (t LanguageTag) MarshalJSON() ([]byte, error)
func (*LanguageTag) UnmarshalBinary ¶
func (t *LanguageTag) UnmarshalBinary(data []byte) error
UnmarshalBinary modifies the receiver so it must take a pointer receiver.
func (*LanguageTag) UnmarshalJSON ¶
func (t *LanguageTag) UnmarshalJSON(data []byte) error
type Machine ¶
type MachineKey ¶
type MachineKey struct { es_models.ObjectRoot `json:"-"` KeyID string `json:"keyId,omitempty"` Type int32 `json:"type,omitempty"` ExpirationDate time.Time `json:"expirationDate,omitempty"` PublicKey []byte `json:"publicKey,omitempty"` // contains filtered or unexported fields }
func (*MachineKey) AppendEvent ¶
func (key *MachineKey) AppendEvent(event *es_models.Event) (err error)
func (*MachineKey) AppendEvents ¶
func (key *MachineKey) AppendEvents(events ...*es_models.Event) error
type OTP ¶
type OTP struct { es_models.ObjectRoot Secret *crypto.CryptoValue `json:"otpSecret,omitempty"` State int32 `json:"-"` }
type OTPVerified ¶
type OTPVerified struct {
UserAgentID string `json:"userAgentID,omitempty"`
}
type Password ¶
type Password struct { es_models.ObjectRoot Secret *crypto.CryptoValue `json:"secret,omitempty"` ChangeRequired bool `json:"changeRequired,omitempty"` }
func PasswordFromModel ¶
type PasswordChange ¶
func PasswordChangeFromModel ¶
func PasswordChangeFromModel(password *model.Password, userAgentID string) *PasswordChange
type PasswordCode ¶
type PasswordCode struct { es_models.ObjectRoot Code *crypto.CryptoValue `json:"code,omitempty"` Expiry time.Duration `json:"expiry,omitempty"` NotificationType int32 `json:"notificationType,omitempty"` }
type Phone ¶
type Phone struct { es_models.ObjectRoot PhoneNumber string `json:"phone,omitempty"` IsPhoneVerified bool `json:"-"` }
func PhoneFromModel ¶
type PhoneCode ¶
type PhoneCode struct { es_models.ObjectRoot Code *crypto.CryptoValue `json:"code,omitempty"` Expiry time.Duration `json:"expiry,omitempty"` }
func PhoneCodeFromModel ¶
type Profile ¶
type Profile struct { es_models.ObjectRoot FirstName string `json:"firstName,omitempty"` LastName string `json:"lastName,omitempty"` NickName string `json:"nickName,omitempty"` DisplayName string `json:"displayName,omitempty"` PreferredLanguage LanguageTag `json:"preferredLanguage,omitempty"` Gender int32 `json:"gender,omitempty"` }
func ProfileFromModel ¶
type Token ¶
type Token struct { es_models.ObjectRoot TokenID string `json:"tokenId" gorm:"column:token_id"` ApplicationID string `json:"applicationId" gorm:"column:application_id"` UserAgentID string `json:"userAgentId" gorm:"column:user_agent_id"` Audience []string `json:"audience" gorm:"column:audience"` Scopes []string `json:"scopes" gorm:"column:scopes"` Expiration time.Time `json:"expiration" gorm:"column:expiration"` PreferredLanguage string `json:"preferredLanguage" gorm:"column:preferred_language"` }
func TokenFromModel ¶
type User ¶
type WebAuthNLogin ¶
type WebAuthNLogin struct { es_models.ObjectRoot WebauthNTokenID string `json:"webAuthNTokenId"` Challenge string `json:"challenge"` *AuthRequest }
type WebAuthNSignCount ¶
type WebAuthNToken ¶
type WebAuthNToken struct { es_models.ObjectRoot WebauthNTokenID string `json:"webAuthNTokenId"` Challenge string `json:"challenge"` State int32 `json:"-"` KeyID []byte `json:"keyId"` PublicKey []byte `json:"publicKey"` AttestationType string `json:"attestationType"` AAGUID []byte `json:"aaguid"` SignCount uint32 `json:"signCount"` WebAuthNTokenName string `json:"webAuthNTokenName"` }
func GetWebauthn ¶
func GetWebauthn(webauthnTokens []*WebAuthNToken, id string) (int, *WebAuthNToken)
type WebAuthNTokenID ¶
type WebAuthNTokenID struct {
WebauthNTokenID string `json:"webAuthNTokenId"`
}
type WebAuthNVerify ¶
type WebAuthNVerify struct { WebAuthNTokenID string `json:"webAuthNTokenId"` KeyID []byte `json:"keyId"` PublicKey []byte `json:"publicKey"` AttestationType string `json:"attestationType"` AAGUID []byte `json:"aaguid"` SignCount uint32 `json:"signCount"` WebAuthNTokenName string `json:"webAuthNTokenName"` UserAgentID string `json:"userAgentID,omitempty"` }
Click to show internal directories.
Click to hide internal directories.