Package Exports
- @heat/cognito
- @heat/cognito/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@heat/cognito) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@heat/cognito 
Lightweight AWS Cognito client for the browser. Uses the native web crypto & BigInt features in the browser & designed the API to be tree shakable to keep the package as small as possible.
GZip Size: ~12kB
The code is still a bit buggy.
Known Issue's
- The Cognito Login API will sometimes respond with a "incorrect username or password" error, even tho the username & password are correct.
Installation
npm install --save @heat/cognito
# using yarn:
yarn add @heat/cognitoStores
Depending on your use case you might want to use one of the following stores.
MemoryStore - Mostly used for debugging and when you don't want to persist the login token.
LocalStore - Used to store the login token on the client only.
CookieStore - The CookieStore is useful in scenarios like SSR, when you need access to the login token on the client as well as on the server. (The server will need to polyfill the fetch & web crypto API)
Examples
Setup
import { Client, LocalStore } from '@heat/cognito';
const store = new LocalStore();
const client = new Client({
clientId: 'CLIENT_ID',
userPoolId: 'USER_POOL_ID',
store,
});Sign Up
import { signUpCommand, confirmSignUpCommand } from '@heat/cognito';
await signUpCommand(client, {
email: 'EMAIL',
username: 'USER',
password: 'PASS',
});
// Let the user fill in his confirmation code.
await confirmSignUpCommand(client, {
username: 'USER',
code: 'SIGN_UP_CONFIRMATION_CODE'
})Sign In
const session = await signInCommand(client, {
username: 'USER',
password: 'PASS',
});
// Log logged in user.
console.log(session.getUser());Sign Out
await signOutCommand(client);Get Active Login Session
const session = await sessionCommand(client);
// Log access token
console.log(session.accessToken.toString());Change Password
await changePasswordCommand(client, {
previousPassword: 'PREV_PASS',
proposedPassword: 'NEW_PASS',
});Custom Call
const response = await client.call('API_NAME', {
...
});License
MIT