Browser SDK for Amazon Cognito Identity
$ npm install @aws-sdk/client-cognito-identity-browser
<fullname>Amazon Cognito Federated Identities</fullname>
Amazon Cognito Federated Identities is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. It uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application.
Using Amazon Cognito Federated Identities, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon Cognito user pool, and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials.
For a description of the authentication flow from the Amazon Cognito Developer Guide see Authentication Flow.
For more information see Amazon Cognito Federated Identities.
To install the this package using NPM, simply type the following into a terminal window:
npm install @aws-sdk/client-cognito-identity-browser
The AWS SDK is modulized by clients and commands in CommonJS modules. To send a request, you only need to import the client(CognitoIdentityClient
) and the commands you need, for example CreateIdentityPoolCommand
:
//JavaScript
const {
CognitoIdentityClient
} = require("@aws-sdk/client-cognito-identity-browser/CognitoIdentityClient");
const {
CreateIdentityPoolCommand
} = require("@aws-sdk/client-cognito-identity-browser/commands/CreateIdentityPoolCommand");
//TypeScript
import { CognitoIdentityClient } from "@aws-sdk/client-cognito-identity-browser/CognitoIdentityClient";
import { CreateIdentityPoolCommand } from "@aws-sdk/client-cognito-identity-browser/commands/CreateIdentityPoolCommand";
To send a request, you:
send
operation on client with command object as input.destroy()
to close open connections.const cognitoIdentity = new CognitoIdentityClient({region: 'region'});
//clients can be shared by different commands
const params = {
IdentityPoolName: /**a string value*/,
AllowUnauthenticatedIdentities: /**a boolean value*/,
};
const createIdentityPoolCommand = new CreateIdentityPoolCommand(params);
cognitoIdentity.send(createIdentityPoolCommand).then(data => {
// do something
}).catch(error => {
// error handling
})
In addition to using promises, there are 2 other ways to send a request:
// async/await
try {
const data = await cognitoIdentity.send(createIdentityPoolCommand);
// do something
} catch (error) {
// error handling
}
// callback
cognitoIdentity.send(createIdentityPoolCommand, (err, data) => {
//do something
});
The SDK can also send requests using the simplified callback style from version 2 of the SDK.
import * as AWS from "@aws-sdk/@aws-sdk/client-cognito-identity-browser/CognitoIdentity";
const cognitoIdentity = new AWS.CognitoIdentity({ region: "region" });
cognitoIdentity.createIdentityPool(params, (err, data) => {
//do something
});
When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).
try {
const data = await cognitoIdentity.send(createIdentityPoolCommand);
// do something
} catch (error) {
const metadata = error.$metadata;
console.log(
`requestId: ${metadata.requestId}
cfId: ${metadata.cfId}
extendedRequestId: ${metadata.extendedRequestId}`
);
/*
The keys within exceptions are also parsed. You can access them by specifying exception names:
if(error.name === 'SomeServiceException') {
const value = error.specialKeyInException;
}
*/
}
Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.
aws-sdk-js
This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/@aws-sdk/client-cognito-identity-browser' package is updated. To contribute to SDK you can checkout our code generator package.
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.
© 2010 - cnpmjs.org x YWFE | Home | YWFE