Documentation ¶
Overview ¶
Package fedcm implements the FedCM domain. This domain allows interacting with the FedCM dialog.
Index ¶
- func NewClient(conn *rpcc.Conn) *domainClient
- type Account
- type AccountURLType
- type ClickDialogButtonArgs
- type DialogButton
- type DialogClosedClient
- type DialogClosedReply
- type DialogShownClient
- type DialogShownReply
- type DialogType
- type DismissDialogArgs
- type EnableArgs
- type LoginState
- type OpenURLArgs
- type SelectAccountArgs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Account ¶
type Account struct { AccountID string `json:"accountId"` // No description. Email string `json:"email"` // No description. Name string `json:"name"` // No description. GivenName string `json:"givenName"` // No description. PictureURL string `json:"pictureUrl"` // No description. IDPConfigURL string `json:"idpConfigUrl"` // No description. IDPLoginURL string `json:"idpLoginUrl"` // No description. LoginState LoginState `json:"loginState"` // No description. TermsOfServiceURL *string `json:"termsOfServiceUrl,omitempty"` // These two are only set if the loginState is signUp PrivacyPolicyURL *string `json:"privacyPolicyUrl,omitempty"` // No description. }
Account Corresponds to IdentityRequestAccount
type AccountURLType ¶
type AccountURLType string
AccountURLType The URLs that each account has
const ( AccountURLTypeNotSet AccountURLType = "" AccountURLTypeTermsOfService AccountURLType = "TermsOfService" AccountURLTypePrivacyPolicy AccountURLType = "PrivacyPolicy" )
AccountURLType as enums.
func (AccountURLType) String ¶
func (e AccountURLType) String() string
func (AccountURLType) Valid ¶
func (e AccountURLType) Valid() bool
type ClickDialogButtonArgs ¶
type ClickDialogButtonArgs struct { DialogID string `json:"dialogId"` // No description. DialogButton DialogButton `json:"dialogButton"` // No description. }
ClickDialogButtonArgs represents the arguments for ClickDialogButton in the FedCM domain.
func NewClickDialogButtonArgs ¶
func NewClickDialogButtonArgs(dialogID string, dialogButton DialogButton) *ClickDialogButtonArgs
NewClickDialogButtonArgs initializes ClickDialogButtonArgs with the required arguments.
type DialogButton ¶
type DialogButton string
DialogButton The buttons on the FedCM dialog.
const ( DialogButtonNotSet DialogButton = "" DialogButtonConfirmIDPLoginContinue DialogButton = "ConfirmIdpLoginContinue" DialogButtonErrorGotIt DialogButton = "ErrorGotIt" DialogButtonErrorMoreDetails DialogButton = "ErrorMoreDetails" )
DialogButton as enums.
func (DialogButton) String ¶
func (e DialogButton) String() string
func (DialogButton) Valid ¶
func (e DialogButton) Valid() bool
type DialogClosedClient ¶
type DialogClosedClient interface { // Recv calls RecvMsg on rpcc.Stream, blocks until the event is // triggered, context canceled or connection closed. Recv() (*DialogClosedReply, error) rpcc.Stream }
DialogClosedClient is a client for DialogClosed events. Triggered when a dialog is closed, either by user action, JS abort, or a command below.
type DialogClosedReply ¶
type DialogClosedReply struct {
DialogID string `json:"dialogId"` // No description.
}
DialogClosedReply is the reply for DialogClosed events.
type DialogShownClient ¶
type DialogShownClient interface { // Recv calls RecvMsg on rpcc.Stream, blocks until the event is // triggered, context canceled or connection closed. Recv() (*DialogShownReply, error) rpcc.Stream }
DialogShownClient is a client for DialogShown events.
type DialogShownReply ¶
type DialogShownReply struct { DialogID string `json:"dialogId"` // No description. DialogType DialogType `json:"dialogType"` // No description. Accounts []Account `json:"accounts"` // No description. Title string `json:"title"` // These exist primarily so that the caller can verify the RP context was used appropriately. Subtitle *string `json:"subtitle,omitempty"` // No description. }
DialogShownReply is the reply for DialogShown events.
type DialogType ¶
type DialogType string
DialogType The types of FedCM dialogs.
const ( DialogTypeNotSet DialogType = "" DialogTypeAccountChooser DialogType = "AccountChooser" DialogTypeAutoReauthn DialogType = "AutoReauthn" DialogTypeConfirmIDPLogin DialogType = "ConfirmIdpLogin" DialogTypeError DialogType = "Error" )
DialogType as enums.
func (DialogType) String ¶
func (e DialogType) String() string
func (DialogType) Valid ¶
func (e DialogType) Valid() bool
type DismissDialogArgs ¶
type DismissDialogArgs struct { DialogID string `json:"dialogId"` // No description. TriggerCooldown *bool `json:"triggerCooldown,omitempty"` // No description. }
DismissDialogArgs represents the arguments for DismissDialog in the FedCM domain.
func NewDismissDialogArgs ¶
func NewDismissDialogArgs(dialogID string) *DismissDialogArgs
NewDismissDialogArgs initializes DismissDialogArgs with the required arguments.
func (*DismissDialogArgs) SetTriggerCooldown ¶
func (a *DismissDialogArgs) SetTriggerCooldown(triggerCooldown bool) *DismissDialogArgs
SetTriggerCooldown sets the TriggerCooldown optional argument.
type EnableArgs ¶
type EnableArgs struct {
DisableRejectionDelay *bool `json:"disableRejectionDelay,omitempty"` // Allows callers to disable the promise rejection delay that would normally happen, if this is unimportant to what's being tested. (step 4 of https://fedidcg.github.io/FedCM/#browser-api-rp-sign-in)
}
EnableArgs represents the arguments for Enable in the FedCM domain.
func NewEnableArgs ¶
func NewEnableArgs() *EnableArgs
NewEnableArgs initializes EnableArgs with the required arguments.
func (*EnableArgs) SetDisableRejectionDelay ¶
func (a *EnableArgs) SetDisableRejectionDelay(disableRejectionDelay bool) *EnableArgs
SetDisableRejectionDelay sets the DisableRejectionDelay optional argument. Allows callers to disable the promise rejection delay that would normally happen, if this is unimportant to what's being tested. (step 4 of https://fedidcg.github.io/FedCM/#browser-api-rp-sign-in)
type LoginState ¶
type LoginState string
LoginState Whether this is a sign-up or sign-in action for this account, i.e. whether this account has ever been used to sign in to this RP before.
const ( LoginStateNotSet LoginState = "" LoginStateSignIn LoginState = "SignIn" LoginStateSignUp LoginState = "SignUp" )
LoginState as enums.
func (LoginState) String ¶
func (e LoginState) String() string
func (LoginState) Valid ¶
func (e LoginState) Valid() bool
type OpenURLArgs ¶
type OpenURLArgs struct { DialogID string `json:"dialogId"` // No description. AccountIndex int `json:"accountIndex"` // No description. AccountURLType AccountURLType `json:"accountUrlType"` // No description. }
OpenURLArgs represents the arguments for OpenURL in the FedCM domain.
func NewOpenURLArgs ¶
func NewOpenURLArgs(dialogID string, accountIndex int, accountURLType AccountURLType) *OpenURLArgs
NewOpenURLArgs initializes OpenURLArgs with the required arguments.
type SelectAccountArgs ¶
type SelectAccountArgs struct { DialogID string `json:"dialogId"` // No description. AccountIndex int `json:"accountIndex"` // No description. }
SelectAccountArgs represents the arguments for SelectAccount in the FedCM domain.
func NewSelectAccountArgs ¶
func NewSelectAccountArgs(dialogID string, accountIndex int) *SelectAccountArgs
NewSelectAccountArgs initializes SelectAccountArgs with the required arguments.