DefinitelyTyped/types/gapi.client.identitytoolkit/readme.md
Alexey Bolisov 4f8a3d571b Add Google APIs typings (#19083)
* Add Google APIs typings

* [gapi.cliebt.* ] Add version as part of typings name and fix gapi.client tslint errors

* versions should not get their own folders
fixing a few typos
using /** syntax so comments show up in editors
export only actual (last) version for now

* export only actual (last) version for now

* merge namespaces and remove unnecessary namespace qualifiers

* remove namespace qualifier for gapi.client.Request from nested namespaces and change Request base interface to Promise

* disable await-promise rule

* fix collision between gapi.client.Request and Request from nested namespace
disable no-irregular-whitespace rule

* sort properties and namespace resources

* remove empty comments
sort resources amd methods in tests and readme.md

* update 'this is autogenerated file' banner to remove this text from gapi.client namespace hint
use multiline comments when comment has several lines

* implement no-trailing-whitespace, no-padding, max-line-length, await-promise, no-irregular-whitespace rules

* add strictFunctionTypes to tsconfig

* fix "Whitespace within parentheses is not allowed" rule

* fix ts-lint rules

* fixes

* remove deprecated replicapool and replicapoolupdater api

* fix no-irregular-whitespace

* fix no-irregular-whitespace
2017-10-09 14:55:04 -07:00

3.5 KiB

TypeScript typings for Google Identity Toolkit API v3

Help the third party sites to implement federated login. For detailed description please check documentation.

Installing

Install typings for Google Identity Toolkit API:

npm install @types/gapi.client.identitytoolkit@v3 --save-dev

Usage

You need to initialize Google API client in your code:

gapi.load("client", () => { 
    // now we can use gapi.client
    // ... 
});

Then load api client wrapper:

gapi.client.load('identitytoolkit', 'v3', () => {
    // now we can use gapi.client.identitytoolkit
    // ... 
});

Don't forget to authenticate your client before sending any request to resources:


// declare client_id registered in Google Developers Console
var client_id = '',
    scope = [     
        // View and manage your data across Google Cloud Platform services
        'https://www.googleapis.com/auth/cloud-platform',
    
        // View and administer all your Firebase data and settings
        'https://www.googleapis.com/auth/firebase',
    ],
    immediate = true;
// ...

gapi.auth.authorize({ client_id: client_id, scope: scope, immediate: immediate }, authResult => {
    if (authResult && !authResult.error) {
        /* handle succesfull authorization */
    } else {
        /* handle authorization error */
    }
});            

After that you can use Google Identity Toolkit API resources:

    
/* 
Creates the URI used by the IdP to authenticate the user.  
*/
await gapi.client.relyingparty.createAuthUri({  }); 
    
/* 
Delete user account.  
*/
await gapi.client.relyingparty.deleteAccount({  }); 
    
/* 
Batch download user accounts.  
*/
await gapi.client.relyingparty.downloadAccount({  }); 
    
/* 
Reset password for a user.  
*/
await gapi.client.relyingparty.emailLinkSignin({  }); 
    
/* 
Returns the account info.  
*/
await gapi.client.relyingparty.getAccountInfo({  }); 
    
/* 
Get a code for user action confirmation.  
*/
await gapi.client.relyingparty.getOobConfirmationCode({  }); 
    
/* 
Get project configuration.  
*/
await gapi.client.relyingparty.getProjectConfig({  }); 
    
/* 
Get token signing public key.  
*/
await gapi.client.relyingparty.getPublicKeys({  }); 
    
/* 
Get recaptcha secure param.  
*/
await gapi.client.relyingparty.getRecaptchaParam({  }); 
    
/* 
Reset password for a user.  
*/
await gapi.client.relyingparty.resetPassword({  }); 
    
/* 
Send SMS verification code.  
*/
await gapi.client.relyingparty.sendVerificationCode({  }); 
    
/* 
Set account info for a user.  
*/
await gapi.client.relyingparty.setAccountInfo({  }); 
    
/* 
Set project configuration.  
*/
await gapi.client.relyingparty.setProjectConfig({  }); 
    
/* 
Sign out user.  
*/
await gapi.client.relyingparty.signOutUser({  }); 
    
/* 
Signup new user.  
*/
await gapi.client.relyingparty.signupNewUser({  }); 
    
/* 
Batch upload existing user accounts.  
*/
await gapi.client.relyingparty.uploadAccount({  }); 
    
/* 
Verifies the assertion returned by the IdP.  
*/
await gapi.client.relyingparty.verifyAssertion({  }); 
    
/* 
Verifies the developer asserted ID token.  
*/
await gapi.client.relyingparty.verifyCustomToken({  }); 
    
/* 
Verifies the user entered password.  
*/
await gapi.client.relyingparty.verifyPassword({  }); 
    
/* 
Verifies ownership of a phone number and creates/updates the user account accordingly.  
*/
await gapi.client.relyingparty.verifyPhoneNumber({  });