// Package identitytoolkit provides access to the Google Identity Toolkit API. // // See https://developers.google.com/identity-toolkit/v3/ // // Usage example: // // import "google.golang.org/api/identitytoolkit/v3" // ... // identitytoolkitService, err := identitytoolkit.New(oauthHttpClient) package identitytoolkit import ( "bytes" "encoding/json" "errors" "fmt" "google.golang.org/api/googleapi" "io" "net/http" "net/url" "strconv" "strings" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = googleapi.Version var _ = errors.New var _ = strings.Replace const apiId = "identitytoolkit:v3" const apiName = "identitytoolkit" const apiVersion = "v3" const basePath = "https://www.googleapis.com/identitytoolkit/v3/relyingparty/" func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Relyingparty = NewRelyingpartyService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL Relyingparty *RelyingpartyService } func NewRelyingpartyService(s *Service) *RelyingpartyService { rs := &RelyingpartyService{s: s} return rs } type RelyingpartyService struct { s *Service } type CreateAuthUriResponse struct { // AuthUri: The URI used by the IDP to authenticate the user. AuthUri string `json:"authUri,omitempty"` // CaptchaRequired: True if captcha is required. CaptchaRequired bool `json:"captchaRequired,omitempty"` // ForExistingProvider: True if the authUri is for user's existing // provider. ForExistingProvider bool `json:"forExistingProvider,omitempty"` // Kind: The fixed string identitytoolkit#CreateAuthUriResponse". Kind string `json:"kind,omitempty"` // ProviderId: The provider ID of the auth URI. ProviderId string `json:"providerId,omitempty"` // Registered: Whether the user is registered if the identifier is an // email. Registered bool `json:"registered,omitempty"` } type DeleteAccountResponse struct { // Kind: The fixed string "identitytoolkit#DeleteAccountResponse". Kind string `json:"kind,omitempty"` } type DownloadAccountResponse struct { // Kind: The fixed string "identitytoolkit#DownloadAccountResponse". Kind string `json:"kind,omitempty"` // NextPageToken: The next page token. To be used in a subsequent // request to return the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // Users: The user accounts data. Users []*UserInfo `json:"users,omitempty"` } type GetAccountInfoResponse struct { // Kind: The fixed string "identitytoolkit#GetAccountInfoResponse". Kind string `json:"kind,omitempty"` // Users: The info of the users. Users []*UserInfo `json:"users,omitempty"` } type GetOobConfirmationCodeResponse struct { // Kind: The fixed string // "identitytoolkit#GetOobConfirmationCodeResponse". Kind string `json:"kind,omitempty"` // OobCode: The code to be send to the user. OobCode string `json:"oobCode,omitempty"` } type IdentitytoolkitRelyingpartyCreateAuthUriRequest struct { // AppId: The app ID of the mobile app, base64(CERT_SHA1):PACKAGE_NAME // for Android, BUNDLE_ID for iOS. AppId string `json:"appId,omitempty"` // ClientId: The relying party OAuth client ID. ClientId string `json:"clientId,omitempty"` // Context: The opaque value used by the client to maintain context info // between the authentication request and the IDP callback. Context string `json:"context,omitempty"` // ContinueUri: The URI to which the IDP redirects the user after the // federated login flow. ContinueUri string `json:"continueUri,omitempty"` // Identifier: The email or federated ID of the user. Identifier string `json:"identifier,omitempty"` // OpenidRealm: Optional realm for OpenID protocol. The sub string // "scheme://domain:port" of the param "continueUri" is used if this is // not set. OpenidRealm string `json:"openidRealm,omitempty"` // OtaApp: The native app package for OTA installation. OtaApp string `json:"otaApp,omitempty"` // ProviderId: The IdP ID. For white listed IdPs it's a short domain // name e.g. google.com, aol.com, live.net and yahoo.com. For other // OpenID IdPs it's the OP identifier. ProviderId string `json:"providerId,omitempty"` } type IdentitytoolkitRelyingpartyDeleteAccountRequest struct { // LocalId: The local ID of the user. LocalId string `json:"localId,omitempty"` } type IdentitytoolkitRelyingpartyDownloadAccountRequest struct { // MaxResults: The max number of results to return in the response. MaxResults int64 `json:"maxResults,omitempty"` // NextPageToken: The token for the next page. This should be taken from // the previous response. NextPageToken string `json:"nextPageToken,omitempty"` } type IdentitytoolkitRelyingpartyGetAccountInfoRequest struct { // Email: The list of emails of the users to inquiry. Email []string `json:"email,omitempty"` // IdToken: The GITKit token of the authenticated user. IdToken string `json:"idToken,omitempty"` // LocalId: The list of local ID's of the users to inquiry. LocalId []string `json:"localId,omitempty"` } type IdentitytoolkitRelyingpartyResetPasswordRequest struct { // Email: The email address of the user. Email string `json:"email,omitempty"` // NewPassword: The new password inputted by the user. NewPassword string `json:"newPassword,omitempty"` // OldPassword: The old password inputted by the user. OldPassword string `json:"oldPassword,omitempty"` // OobCode: The confirmation code. OobCode string `json:"oobCode,omitempty"` } type IdentitytoolkitRelyingpartySetAccountInfoRequest struct { // CaptchaChallenge: The captcha challenge. CaptchaChallenge string `json:"captchaChallenge,omitempty"` // CaptchaResponse: Response to the captcha. CaptchaResponse string `json:"captchaResponse,omitempty"` // DisplayName: The name of the user. DisplayName string `json:"displayName,omitempty"` // Email: The email of the user. Email string `json:"email,omitempty"` // EmailVerified: Mark the email as verified or not. EmailVerified bool `json:"emailVerified,omitempty"` // IdToken: The GITKit token of the authenticated user. IdToken string `json:"idToken,omitempty"` // LocalId: The local ID of the user. LocalId string `json:"localId,omitempty"` // OobCode: The out-of-band code of the change email request. OobCode string `json:"oobCode,omitempty"` // Password: The new password of the user. Password string `json:"password,omitempty"` // Provider: The associated IDPs of the user. Provider []string `json:"provider,omitempty"` // UpgradeToFederatedLogin: Mark the user to upgrade to federated login. UpgradeToFederatedLogin bool `json:"upgradeToFederatedLogin,omitempty"` } type IdentitytoolkitRelyingpartyUploadAccountRequest struct { // HashAlgorithm: The password hash algorithm. HashAlgorithm string `json:"hashAlgorithm,omitempty"` // MemoryCost: Memory cost for hash calculation. Used by scrypt similar // algorithms. MemoryCost int64 `json:"memoryCost,omitempty"` // Rounds: Rounds for hash calculation. Used by scrypt and similar // algorithms. Rounds int64 `json:"rounds,omitempty"` // SaltSeparator: The salt separator. SaltSeparator string `json:"saltSeparator,omitempty"` // SignerKey: The key for to hash the password. SignerKey string `json:"signerKey,omitempty"` // Users: The account info to be stored. Users []*UserInfo `json:"users,omitempty"` } type IdentitytoolkitRelyingpartyVerifyAssertionRequest struct { // PendingIdToken: The GITKit token for the non-trusted IDP pending to // be confirmed by the user. PendingIdToken string `json:"pendingIdToken,omitempty"` // PostBody: The post body if the request is a HTTP POST. PostBody string `json:"postBody,omitempty"` // RequestUri: The URI to which the IDP redirects the user back. It may // contain federated login result params added by the IDP. RequestUri string `json:"requestUri,omitempty"` } type IdentitytoolkitRelyingpartyVerifyPasswordRequest struct { // CaptchaChallenge: The captcha challenge. CaptchaChallenge string `json:"captchaChallenge,omitempty"` // CaptchaResponse: Response to the captcha. CaptchaResponse string `json:"captchaResponse,omitempty"` // Email: The email of the user. Email string `json:"email,omitempty"` // Password: The password inputed by the user. Password string `json:"password,omitempty"` // PendingIdToken: The GITKit token for the non-trusted IDP, which is to // be confirmed by the user. PendingIdToken string `json:"pendingIdToken,omitempty"` } type Relyingparty struct { // CaptchaResp: The recaptcha response from the user. CaptchaResp string `json:"captchaResp,omitempty"` // Challenge: The recaptcha challenge presented to the user. Challenge string `json:"challenge,omitempty"` // Email: The email of the user. Email string `json:"email,omitempty"` // IdToken: The user's Gitkit login token for email change. IdToken string `json:"idToken,omitempty"` // Kind: The fixed string "identitytoolkit#relyingparty". Kind string `json:"kind,omitempty"` // NewEmail: The new email if the code is for email change. NewEmail string `json:"newEmail,omitempty"` // RequestType: The request type. RequestType string `json:"requestType,omitempty"` // UserIp: The IP address of the user. UserIp string `json:"userIp,omitempty"` } type ResetPasswordResponse struct { // Email: The user's email. Email string `json:"email,omitempty"` // Kind: The fixed string "identitytoolkit#ResetPasswordResponse". Kind string `json:"kind,omitempty"` } type SetAccountInfoResponse struct { // DisplayName: The name of the user. DisplayName string `json:"displayName,omitempty"` // Email: The email of the user. Email string `json:"email,omitempty"` // IdToken: The Gitkit id token to login the newly sign up user. IdToken string `json:"idToken,omitempty"` // Kind: The fixed string "identitytoolkit#SetAccountInfoResponse". Kind string `json:"kind,omitempty"` // ProviderUserInfo: The user's profiles at the associated IdPs. ProviderUserInfo []*SetAccountInfoResponseProviderUserInfo `json:"providerUserInfo,omitempty"` } type SetAccountInfoResponseProviderUserInfo struct { // DisplayName: The user's display name at the IDP. DisplayName string `json:"displayName,omitempty"` // PhotoUrl: The user's photo url at the IDP. PhotoUrl string `json:"photoUrl,omitempty"` // ProviderId: The IdP ID. For whitelisted IdPs it's a short domain // name, e.g., google.com, aol.com, live.net and yahoo.com. For other // OpenID IdPs it's the OP identifier. ProviderId string `json:"providerId,omitempty"` } type UploadAccountResponse struct { // Error: The error encountered while processing the account info. Error []*UploadAccountResponseError `json:"error,omitempty"` // Kind: The fixed string "identitytoolkit#UploadAccountResponse". Kind string `json:"kind,omitempty"` } type UploadAccountResponseError struct { // Index: The index of the malformed account, starting from 0. Index int64 `json:"index,omitempty"` // Message: Detailed error message for the account info. Message string `json:"message,omitempty"` } type UserInfo struct { // DisplayName: The name of the user. DisplayName string `json:"displayName,omitempty"` // Email: The email of the user. Email string `json:"email,omitempty"` // EmailVerified: Whether the email has been verified. EmailVerified bool `json:"emailVerified,omitempty"` // LocalId: The local ID of the user. LocalId string `json:"localId,omitempty"` // PasswordHash: The user's hashed password. PasswordHash string `json:"passwordHash,omitempty"` // PasswordUpdatedAt: The timestamp when the password was last updated. PasswordUpdatedAt float64 `json:"passwordUpdatedAt,omitempty"` // PhotoUrl: The URL of the user profile photo. PhotoUrl string `json:"photoUrl,omitempty"` // ProviderUserInfo: The IDP of the user. ProviderUserInfo []*UserInfoProviderUserInfo `json:"providerUserInfo,omitempty"` // Salt: The user's password salt. Salt string `json:"salt,omitempty"` // Version: Version of the user's password. Version int64 `json:"version,omitempty"` } type UserInfoProviderUserInfo struct { // DisplayName: The user's display name at the IDP. DisplayName string `json:"displayName,omitempty"` // FederatedId: User's identifier at IDP. FederatedId string `json:"federatedId,omitempty"` // PhotoUrl: The user's photo url at the IDP. PhotoUrl string `json:"photoUrl,omitempty"` // ProviderId: The IdP ID. For white listed IdPs it's a short domain // name, e.g., google.com, aol.com, live.net and yahoo.com. For other // OpenID IdPs it's the OP identifier. ProviderId string `json:"providerId,omitempty"` } type VerifyAssertionResponse struct { // Action: The action code. Action string `json:"action,omitempty"` // AppInstallationUrl: URL for OTA app installation. AppInstallationUrl string `json:"appInstallationUrl,omitempty"` // AppScheme: The custom scheme used by mobile app. AppScheme string `json:"appScheme,omitempty"` // Context: The opaque value used by the client to maintain context info // between the authentication request and the IDP callback. Context string `json:"context,omitempty"` // DateOfBirth: The birth date of the IdP account. DateOfBirth string `json:"dateOfBirth,omitempty"` // DisplayName: The display name of the user. DisplayName string `json:"displayName,omitempty"` // Email: The email returned by the IdP. NOTE: The federated login user // may not own the email. Email string `json:"email,omitempty"` // EmailRecycled: It's true if the email is recycled. EmailRecycled bool `json:"emailRecycled,omitempty"` // EmailVerified: The value is true if the IDP is also the email // provider. It means the user owns the email. EmailVerified bool `json:"emailVerified,omitempty"` // FederatedId: The unique ID identifies the IdP account. FederatedId string `json:"federatedId,omitempty"` // FirstName: The first name of the user. FirstName string `json:"firstName,omitempty"` // FullName: The full name of the user. FullName string `json:"fullName,omitempty"` // IdToken: The ID token. IdToken string `json:"idToken,omitempty"` // InputEmail: It's the identifier param in the createAuthUri request if // the identifier is an email. It can be used to check whether the user // input email is different from the asserted email. InputEmail string `json:"inputEmail,omitempty"` // Kind: The fixed string "identitytoolkit#VerifyAssertionResponse". Kind string `json:"kind,omitempty"` // Language: The language preference of the user. Language string `json:"language,omitempty"` // LastName: The last name of the user. LastName string `json:"lastName,omitempty"` // LocalId: The RP local ID if it's already been mapped to the IdP // account identified by the federated ID. LocalId string `json:"localId,omitempty"` // NeedConfirmation: Whether the assertion is from a non-trusted IDP and // need account linking confirmation. NeedConfirmation bool `json:"needConfirmation,omitempty"` // NickName: The nick name of the user. NickName string `json:"nickName,omitempty"` // OauthRequestToken: The user approved request token for the OpenID // OAuth extension. OauthRequestToken string `json:"oauthRequestToken,omitempty"` // OauthScope: The scope for the OpenID OAuth extension. OauthScope string `json:"oauthScope,omitempty"` // OriginalEmail: The original email stored in the mapping storage. It's // returned when the federated ID is associated to a different email. OriginalEmail string `json:"originalEmail,omitempty"` // PhotoUrl: The URI of the public accessible profiel picture. PhotoUrl string `json:"photoUrl,omitempty"` // ProviderId: The IdP ID. For white listed IdPs it's a short domain // name e.g. google.com, aol.com, live.net and yahoo.com. If the // "providerId" param is set to OpenID OP identifer other than the // whilte listed IdPs the OP identifier is returned. If the "identifier" // param is federated ID in the createAuthUri request. The domain part // of the federated ID is returned. ProviderId string `json:"providerId,omitempty"` // TimeZone: The timezone of the user. TimeZone string `json:"timeZone,omitempty"` // VerifiedProvider: When action is 'map', contains the idps which can // be used for confirmation. VerifiedProvider []string `json:"verifiedProvider,omitempty"` } type VerifyPasswordResponse struct { // DisplayName: The name of the user. DisplayName string `json:"displayName,omitempty"` // Email: The email returned by the IdP. NOTE: The federated login user // may not own the email. Email string `json:"email,omitempty"` // IdToken: The GITKit token for authenticated user. IdToken string `json:"idToken,omitempty"` // Kind: The fixed string "identitytoolkit#VerifyPasswordResponse". Kind string `json:"kind,omitempty"` // LocalId: The RP local ID if it's already been mapped to the IdP // account identified by the federated ID. LocalId string `json:"localId,omitempty"` // PhotoUrl: The URI of the user's photo at IdP PhotoUrl string `json:"photoUrl,omitempty"` // Registered: Whether the email is registered. Registered bool `json:"registered,omitempty"` } // method id "identitytoolkit.relyingparty.createAuthUri": type RelyingpartyCreateAuthUriCall struct { s *Service identitytoolkitrelyingpartycreateauthurirequest *IdentitytoolkitRelyingpartyCreateAuthUriRequest opt_ map[string]interface{} } // CreateAuthUri: Creates the URI used by the IdP to authenticate the // user. func (r *RelyingpartyService) CreateAuthUri(identitytoolkitrelyingpartycreateauthurirequest *IdentitytoolkitRelyingpartyCreateAuthUriRequest) *RelyingpartyCreateAuthUriCall { c := &RelyingpartyCreateAuthUriCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartycreateauthurirequest = identitytoolkitrelyingpartycreateauthurirequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyCreateAuthUriCall) Fields(s ...googleapi.Field) *RelyingpartyCreateAuthUriCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyCreateAuthUriCall) Do() (*CreateAuthUriResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartycreateauthurirequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "createAuthUri") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *CreateAuthUriResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Creates the URI used by the IdP to authenticate the user.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.createAuthUri", // "path": "createAuthUri", // "request": { // "$ref": "IdentitytoolkitRelyingpartyCreateAuthUriRequest" // }, // "response": { // "$ref": "CreateAuthUriResponse" // } // } } // method id "identitytoolkit.relyingparty.deleteAccount": type RelyingpartyDeleteAccountCall struct { s *Service identitytoolkitrelyingpartydeleteaccountrequest *IdentitytoolkitRelyingpartyDeleteAccountRequest opt_ map[string]interface{} } // DeleteAccount: Delete user account. func (r *RelyingpartyService) DeleteAccount(identitytoolkitrelyingpartydeleteaccountrequest *IdentitytoolkitRelyingpartyDeleteAccountRequest) *RelyingpartyDeleteAccountCall { c := &RelyingpartyDeleteAccountCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartydeleteaccountrequest = identitytoolkitrelyingpartydeleteaccountrequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyDeleteAccountCall) Fields(s ...googleapi.Field) *RelyingpartyDeleteAccountCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyDeleteAccountCall) Do() (*DeleteAccountResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartydeleteaccountrequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "deleteAccount") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *DeleteAccountResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Delete user account.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.deleteAccount", // "path": "deleteAccount", // "request": { // "$ref": "IdentitytoolkitRelyingpartyDeleteAccountRequest" // }, // "response": { // "$ref": "DeleteAccountResponse" // } // } } // method id "identitytoolkit.relyingparty.downloadAccount": type RelyingpartyDownloadAccountCall struct { s *Service identitytoolkitrelyingpartydownloadaccountrequest *IdentitytoolkitRelyingpartyDownloadAccountRequest opt_ map[string]interface{} } // DownloadAccount: Batch download user accounts. func (r *RelyingpartyService) DownloadAccount(identitytoolkitrelyingpartydownloadaccountrequest *IdentitytoolkitRelyingpartyDownloadAccountRequest) *RelyingpartyDownloadAccountCall { c := &RelyingpartyDownloadAccountCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartydownloadaccountrequest = identitytoolkitrelyingpartydownloadaccountrequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyDownloadAccountCall) Fields(s ...googleapi.Field) *RelyingpartyDownloadAccountCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyDownloadAccountCall) Do() (*DownloadAccountResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartydownloadaccountrequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "downloadAccount") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *DownloadAccountResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Batch download user accounts.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.downloadAccount", // "path": "downloadAccount", // "request": { // "$ref": "IdentitytoolkitRelyingpartyDownloadAccountRequest" // }, // "response": { // "$ref": "DownloadAccountResponse" // } // } } // method id "identitytoolkit.relyingparty.getAccountInfo": type RelyingpartyGetAccountInfoCall struct { s *Service identitytoolkitrelyingpartygetaccountinforequest *IdentitytoolkitRelyingpartyGetAccountInfoRequest opt_ map[string]interface{} } // GetAccountInfo: Returns the account info. func (r *RelyingpartyService) GetAccountInfo(identitytoolkitrelyingpartygetaccountinforequest *IdentitytoolkitRelyingpartyGetAccountInfoRequest) *RelyingpartyGetAccountInfoCall { c := &RelyingpartyGetAccountInfoCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartygetaccountinforequest = identitytoolkitrelyingpartygetaccountinforequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyGetAccountInfoCall) Fields(s ...googleapi.Field) *RelyingpartyGetAccountInfoCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyGetAccountInfoCall) Do() (*GetAccountInfoResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartygetaccountinforequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "getAccountInfo") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *GetAccountInfoResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Returns the account info.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.getAccountInfo", // "path": "getAccountInfo", // "request": { // "$ref": "IdentitytoolkitRelyingpartyGetAccountInfoRequest" // }, // "response": { // "$ref": "GetAccountInfoResponse" // } // } } // method id "identitytoolkit.relyingparty.getOobConfirmationCode": type RelyingpartyGetOobConfirmationCodeCall struct { s *Service relyingparty *Relyingparty opt_ map[string]interface{} } // GetOobConfirmationCode: Get a code for user action confirmation. func (r *RelyingpartyService) GetOobConfirmationCode(relyingparty *Relyingparty) *RelyingpartyGetOobConfirmationCodeCall { c := &RelyingpartyGetOobConfirmationCodeCall{s: r.s, opt_: make(map[string]interface{})} c.relyingparty = relyingparty return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyGetOobConfirmationCodeCall) Fields(s ...googleapi.Field) *RelyingpartyGetOobConfirmationCodeCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyGetOobConfirmationCodeCall) Do() (*GetOobConfirmationCodeResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.relyingparty) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "getOobConfirmationCode") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *GetOobConfirmationCodeResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Get a code for user action confirmation.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.getOobConfirmationCode", // "path": "getOobConfirmationCode", // "request": { // "$ref": "Relyingparty" // }, // "response": { // "$ref": "GetOobConfirmationCodeResponse" // } // } } // method id "identitytoolkit.relyingparty.getPublicKeys": type RelyingpartyGetPublicKeysCall struct { s *Service opt_ map[string]interface{} } // GetPublicKeys: Get token signing public key. func (r *RelyingpartyService) GetPublicKeys() *RelyingpartyGetPublicKeysCall { c := &RelyingpartyGetPublicKeysCall{s: r.s, opt_: make(map[string]interface{})} return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyGetPublicKeysCall) Fields(s ...googleapi.Field) *RelyingpartyGetPublicKeysCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyGetPublicKeysCall) Do() (map[string]string, error) { var body io.Reader = nil params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "publicKeys") urls += "?" + params.Encode() req, _ := http.NewRequest("GET", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret map[string]string if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Get token signing public key.", // "httpMethod": "GET", // "id": "identitytoolkit.relyingparty.getPublicKeys", // "path": "publicKeys", // "response": { // "$ref": "IdentitytoolkitRelyingpartyGetPublicKeysResponse" // } // } } // method id "identitytoolkit.relyingparty.resetPassword": type RelyingpartyResetPasswordCall struct { s *Service identitytoolkitrelyingpartyresetpasswordrequest *IdentitytoolkitRelyingpartyResetPasswordRequest opt_ map[string]interface{} } // ResetPassword: Reset password for a user. func (r *RelyingpartyService) ResetPassword(identitytoolkitrelyingpartyresetpasswordrequest *IdentitytoolkitRelyingpartyResetPasswordRequest) *RelyingpartyResetPasswordCall { c := &RelyingpartyResetPasswordCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartyresetpasswordrequest = identitytoolkitrelyingpartyresetpasswordrequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyResetPasswordCall) Fields(s ...googleapi.Field) *RelyingpartyResetPasswordCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyResetPasswordCall) Do() (*ResetPasswordResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyresetpasswordrequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "resetPassword") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *ResetPasswordResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Reset password for a user.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.resetPassword", // "path": "resetPassword", // "request": { // "$ref": "IdentitytoolkitRelyingpartyResetPasswordRequest" // }, // "response": { // "$ref": "ResetPasswordResponse" // } // } } // method id "identitytoolkit.relyingparty.setAccountInfo": type RelyingpartySetAccountInfoCall struct { s *Service identitytoolkitrelyingpartysetaccountinforequest *IdentitytoolkitRelyingpartySetAccountInfoRequest opt_ map[string]interface{} } // SetAccountInfo: Set account info for a user. func (r *RelyingpartyService) SetAccountInfo(identitytoolkitrelyingpartysetaccountinforequest *IdentitytoolkitRelyingpartySetAccountInfoRequest) *RelyingpartySetAccountInfoCall { c := &RelyingpartySetAccountInfoCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartysetaccountinforequest = identitytoolkitrelyingpartysetaccountinforequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartySetAccountInfoCall) Fields(s ...googleapi.Field) *RelyingpartySetAccountInfoCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartySetAccountInfoCall) Do() (*SetAccountInfoResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartysetaccountinforequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "setAccountInfo") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *SetAccountInfoResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Set account info for a user.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.setAccountInfo", // "path": "setAccountInfo", // "request": { // "$ref": "IdentitytoolkitRelyingpartySetAccountInfoRequest" // }, // "response": { // "$ref": "SetAccountInfoResponse" // } // } } // method id "identitytoolkit.relyingparty.uploadAccount": type RelyingpartyUploadAccountCall struct { s *Service identitytoolkitrelyingpartyuploadaccountrequest *IdentitytoolkitRelyingpartyUploadAccountRequest opt_ map[string]interface{} } // UploadAccount: Batch upload existing user accounts. func (r *RelyingpartyService) UploadAccount(identitytoolkitrelyingpartyuploadaccountrequest *IdentitytoolkitRelyingpartyUploadAccountRequest) *RelyingpartyUploadAccountCall { c := &RelyingpartyUploadAccountCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartyuploadaccountrequest = identitytoolkitrelyingpartyuploadaccountrequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyUploadAccountCall) Fields(s ...googleapi.Field) *RelyingpartyUploadAccountCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyUploadAccountCall) Do() (*UploadAccountResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyuploadaccountrequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "uploadAccount") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *UploadAccountResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Batch upload existing user accounts.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.uploadAccount", // "path": "uploadAccount", // "request": { // "$ref": "IdentitytoolkitRelyingpartyUploadAccountRequest" // }, // "response": { // "$ref": "UploadAccountResponse" // } // } } // method id "identitytoolkit.relyingparty.verifyAssertion": type RelyingpartyVerifyAssertionCall struct { s *Service identitytoolkitrelyingpartyverifyassertionrequest *IdentitytoolkitRelyingpartyVerifyAssertionRequest opt_ map[string]interface{} } // VerifyAssertion: Verifies the assertion returned by the IdP. func (r *RelyingpartyService) VerifyAssertion(identitytoolkitrelyingpartyverifyassertionrequest *IdentitytoolkitRelyingpartyVerifyAssertionRequest) *RelyingpartyVerifyAssertionCall { c := &RelyingpartyVerifyAssertionCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartyverifyassertionrequest = identitytoolkitrelyingpartyverifyassertionrequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyVerifyAssertionCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyAssertionCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyVerifyAssertionCall) Do() (*VerifyAssertionResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyverifyassertionrequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "verifyAssertion") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *VerifyAssertionResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Verifies the assertion returned by the IdP.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.verifyAssertion", // "path": "verifyAssertion", // "request": { // "$ref": "IdentitytoolkitRelyingpartyVerifyAssertionRequest" // }, // "response": { // "$ref": "VerifyAssertionResponse" // } // } } // method id "identitytoolkit.relyingparty.verifyPassword": type RelyingpartyVerifyPasswordCall struct { s *Service identitytoolkitrelyingpartyverifypasswordrequest *IdentitytoolkitRelyingpartyVerifyPasswordRequest opt_ map[string]interface{} } // VerifyPassword: Verifies the user entered password. func (r *RelyingpartyService) VerifyPassword(identitytoolkitrelyingpartyverifypasswordrequest *IdentitytoolkitRelyingpartyVerifyPasswordRequest) *RelyingpartyVerifyPasswordCall { c := &RelyingpartyVerifyPasswordCall{s: r.s, opt_: make(map[string]interface{})} c.identitytoolkitrelyingpartyverifypasswordrequest = identitytoolkitrelyingpartyverifypasswordrequest return c } // Fields allows partial responses to be retrieved. // See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *RelyingpartyVerifyPasswordCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyPasswordCall { c.opt_["fields"] = googleapi.CombineFields(s) return c } func (c *RelyingpartyVerifyPasswordCall) Do() (*VerifyPasswordResponse, error) { var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyverifypasswordrequest) if err != nil { return nil, err } ctype := "application/json" params := make(url.Values) params.Set("alt", "json") if v, ok := c.opt_["fields"]; ok { params.Set("fields", fmt.Sprintf("%v", v)) } urls := googleapi.ResolveRelative(c.s.BasePath, "verifyPassword") urls += "?" + params.Encode() req, _ := http.NewRequest("POST", urls, body) googleapi.SetOpaque(req.URL) req.Header.Set("Content-Type", ctype) req.Header.Set("User-Agent", "google-api-go-client/0.5") res, err := c.s.client.Do(req) if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } var ret *VerifyPasswordResponse if err := json.NewDecoder(res.Body).Decode(&ret); err != nil { return nil, err } return ret, nil // { // "description": "Verifies the user entered password.", // "httpMethod": "POST", // "id": "identitytoolkit.relyingparty.verifyPassword", // "path": "verifyPassword", // "request": { // "$ref": "IdentitytoolkitRelyingpartyVerifyPasswordRequest" // }, // "response": { // "$ref": "VerifyPasswordResponse" // } // } }