UNPKG

@sungly/cognito-cli

Version:

CLI for all Cognito user life cycle management

95 lines (55 loc) 2.82 kB
# cognito-cli CLI for Cognito user life cycle management and basic user authentication to retrieve JWTs (access token, id token and refresh token). `cognito-cli` is a wrapper around [aws-sdk](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#constructor-property) and is intended to make user management easier instead of having to write a script for one time user management during local development. ## Requirements - AWS credentials When interacting with Amazon Cognito, it is a requirement to have aws credentials. There are a few methods available to you for getting these credentials. [Read here](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). Once you have obtained aws access id and aws access secret, save them to ~/.aws/credentials: ``` [default] aws_access_key_id= aws_secret_access_key= ``` - Enable USER_PASSWORD_AUTH on the app client General > App client > show details > `Enable username password based authentication (ALLOW_USER_PASSWORD_AUTH)` ## Install Install globally in order to call `cognito-cli` from anywhere: ``` npm install -g @sungly/cognito-cli ``` Add the following to ~/.cognito/config: ``` user_pool_id= client_id= client_secret= region=ca-central-1 requiredAttributeList=["email", "given_name", "family_name"] ``` The `requiredAttributeList` is used for user registration. Make sure to include attributes that are `required` for your user pool. ## Usage `cognito-cli <command>` ##### Available Commands: ``` init # initializing the CLI login # retrieve access, id and refresh token via USER_PASSWORD_AUTH against a specified user pool in the config. srp-login # retrieve acesss, id and refresh token via SRP authentication. create-user # create a user profile using the `requiredAttributeList` confirm-user # confirm user registration with a confirmation code resend-confirmation-user # resend the confirmation code forgot-password # trigger the forgot password flow ### admin calls - Note these calls require additional IAM privileges set-user-password # set user with a new password get-user-profile # get the user profile from cognito verify-user-email # verify user email in order to get emails disable-user # disable user from logging in enable-user # allow user to login batch-delete-users # delete all users from a user pool ``` ##### Other commands ``` decode-token # decode JSON web tokens cognito-cli version # get the cli version cognito-cli help # get help instruction ``` ## License [MIT](https://vjpr.mit-license.org/)