Guest User

Untitled

a guest
Feb 16th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. /**
  2. * Logs the user into the specified Cognito User Pool and prints out JWT tokens
  3. * @example
  4. * $ node cognito-login.js username="john.doe" password="j0hn.d0e" user-pool-id="us-east-1_Xxxxxxxx" app-client-id="2axxyyxxyxxxyyxxxyy"
  5. * {
  6. * "accessToken": "eyJra...aQ",
  7. * "identityToken": "eyJra...iA",
  8. * "refreshToken": "eyJj...Wg"
  9. * }
  10. */
  11. const Cognito = require("amazon-cognito-identity-js");
  12.  
  13. const args = process.argv.slice(2).reduce((acc, arg) => {
  14. let [k, v = true] = arg.split("=");
  15. acc[k] = v;
  16. return acc;
  17. }, {});
  18.  
  19. const requiredArgs = ["username", "password", "user-pool-id", "app-client-id"];
  20. if (!requiredArgs.every(a => a in args)) {
  21. console.error(
  22. `usage: node cognito-login.js username="john.doe" password="j0hn.d0e" user-pool-id="us-east-1_Xxxxxxxx" app-client-id="2axxyyxxyxxxyyxxxyy"`
  23. );
  24. console.error("Error: missing arguments");
  25. return;
  26. }
  27.  
  28. const authenticationDetails = new Cognito.AuthenticationDetails({
  29. Username: args.username,
  30. Password: args.password
  31. });
  32. const userPool = new Cognito.CognitoUserPool({
  33. UserPoolId: args["user-pool-id"],
  34. ClientId: args["app-client-id"]
  35. });
  36. const cognitoUser = new Cognito.CognitoUser({
  37. Username: args.username,
  38. Pool: userPool
  39. });
  40. cognitoUser.authenticateUser(authenticationDetails, {
  41. onSuccess: function(result) {
  42. const object = {
  43. accessToken: result.getAccessToken().getJwtToken(),
  44. identityToken: result.getIdToken().getJwtToken(),
  45. refreshToken: result.getRefreshToken().getToken()
  46. };
  47. console.log(JSON.stringify(object, null, 4));
  48. },
  49.  
  50. onFailure: function(err) {
  51. console.error(err);
  52. }
  53. });
Add Comment
Please, Sign In to add comment