Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Logs the user into the specified Cognito User Pool and prints out JWT tokens
- * @example
- * $ node cognito-login.js username="john.doe" password="j0hn.d0e" user-pool-id="us-east-1_Xxxxxxxx" app-client-id="2axxyyxxyxxxyyxxxyy"
- * {
- * "accessToken": "eyJra...aQ",
- * "identityToken": "eyJra...iA",
- * "refreshToken": "eyJj...Wg"
- * }
- */
- const Cognito = require("amazon-cognito-identity-js");
- const args = process.argv.slice(2).reduce((acc, arg) => {
- let [k, v = true] = arg.split("=");
- acc[k] = v;
- return acc;
- }, {});
- const requiredArgs = ["username", "password", "user-pool-id", "app-client-id"];
- if (!requiredArgs.every(a => a in args)) {
- console.error(
- `usage: node cognito-login.js username="john.doe" password="j0hn.d0e" user-pool-id="us-east-1_Xxxxxxxx" app-client-id="2axxyyxxyxxxyyxxxyy"`
- );
- console.error("Error: missing arguments");
- return;
- }
- const authenticationDetails = new Cognito.AuthenticationDetails({
- Username: args.username,
- Password: args.password
- });
- const userPool = new Cognito.CognitoUserPool({
- UserPoolId: args["user-pool-id"],
- ClientId: args["app-client-id"]
- });
- const cognitoUser = new Cognito.CognitoUser({
- Username: args.username,
- Pool: userPool
- });
- cognitoUser.authenticateUser(authenticationDetails, {
- onSuccess: function(result) {
- const object = {
- accessToken: result.getAccessToken().getJwtToken(),
- identityToken: result.getIdToken().getJwtToken(),
- refreshToken: result.getRefreshToken().getToken()
- };
- console.log(JSON.stringify(object, null, 4));
- },
- onFailure: function(err) {
- console.error(err);
- }
- });
Add Comment
Please, Sign In to add comment