Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import AWS from 'aws-sdk'
- import fs from 'fs'
- import path from 'path'
- import ini from 'iniparser'
- import util from 'util'
- import Promise from 'bluebird'
- import CryptoJS from 'crypto-js'
- import {Internet, Name, Address} from 'faker'
- let credPath = path.join(process.env.HOME, '.aws/credentials')
- var cred = ini.parseSync(credPath)['rfg.david.middleton']
- const dump = (v) => { console.log(util.inspect(v, {colors:true, depth:10})) }
- AWS.config.update({
- accessKeyId: cred.aws_access_key_id,
- secretAccessKey: cred.aws_secret_access_key,
- region: 'us-east-1'
- })
- let CognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider()
- Promise.promisifyAll(CognitoIdentityServiceProvider, CognitoIdentityServiceProvider)
- let CognitoIdentity = new AWS.CognitoIdentity()
- Promise.promisifyAll(CognitoIdentity, CognitoIdentity)
- const describePools = async (params={MaxResults: 60}) => {
- let pools = await listUserPools({MaxResults: 60})
- dump(pools)
- let desc = await Promise.all(Promise.map(pools.UserPools,({Id}) => {
- return describeUserPool({UserPoolId: Id})
- }))
- dump(desc)
- return desc
- }
- const destroyPools = async (params={MaxResults: 60}) => {
- let pools = await listUserPools({MaxResults: 60})
- let desc = await Promise.all(Promise.map(pools.UserPools,({UserPoolId}) => {
- return deleteUserPool({UserPoolId})
- }))
- dump(desc)
- return desc
- }
- const astr = (n) => {
- return {
- Name: n,
- AttributeDataType: 'String',
- DeveloperOnlyAttribute: false,
- Mutable: true,
- Required: true,
- StringAttributeConstraints: { MinLength: '0', MaxLength: '1024' }
- }
- }
- const createUserPool = async (params={}) => {
- console.log('createUserPool')
- let uParams = {
- PoolName: 'RANDOM_ORG_NAME', //URL PREFIX
- MfaConfiguration: 'ON',
- Policies: {
- PasswordPolicy: {
- MinimumLength : 8,
- RequireUppercase : true,
- RequireLowercase : true,
- RequireNumbers : true,
- RequireSymbols : true
- }
- },
- SchemaAttributes: [
- 'name','address','email', 'locale',
- 'zoneinfo', 'phone_number'
- ].map(astr),
- ...params
- };
- dump(uParams)
- let pool = await _createUserPool(uParams);
- dump(pool)
- return pool
- }
- const createUserPoolClient = async (params={}) => {
- let uParams = {
- ClientName: "RomansApp",
- UserPoolId: "us-east-1_wFOFq1wEh",
- GenerateSecret: false
- }
- let client = await _createUserPoolClient(uParams)
- dump(client)
- return client
- }
- const createUser = async (params = {}) => {
- console.log('createUser')
- const hmac_sha_256 = CryptoJS.HmacSHA256(params.Username + params.ClientId, params.ClientSecret)
- const base_64 = CryptoJS.enc.Base64.stringify(hmac_sha_256)
- const uParams = {
- ClientId: params.ClientId,
- Username: params.Username,
- Password: params.Password,
- UserAttributes: [
- { Name: "address", Value: params.Address },
- { Name: "email", Value: params.Email },
- { Name: "locale", Value: params.Locale },
- { Name: "name", Value: params.Name },
- { Name: "phone_number", Value: params.PhoneNumber }
- ],
- SecretHash: base_64
- }
- dump(uParams)
- let user = await CognitoIdentityServiceProvider.signUpAsync(uParams);
- dump(user)
- return user
- }
- const getId = async(params = {}) => {
- const uParams = {
- IdentityPoolId: 'us-east-1:fe28d51de7ab1428d',
- AccountId: '046922594573',
- Logins: {
- "cognito-idp.us-east-1.amazonaws.com/us-east-1_wFOFq1wEh": "[TOKEN]"
- },
- ...params
- }
- const id = await CognitoIdentity.getIdAsync(uParams);
- console.log(util.inspect({id},{depth:10}));
- return id
- }
- const login = async (params={}) => {
- var authenticationData = {
- Username : 'Barry',
- Password : 'Testtest99*',
- }
- var authenticationDetails = new
- lCognitoIdentityServiceProvider.AuthenticationDetails(authenticationData)
- var poolData = {
- UserPoolId : 'us-east-1_wFOFq1wEh',
- ClientId : '60vqo0jm8faehb'
- }
- var userPool = new CognitoIdentityServiceProvider.CognitoUserPool(poolData)
- var userData = {
- Username : 'username',
- Pool : userPool
- }
- console.log(util.inspect({authenticationData,poolData,userData},{depth:10}))
- var cognitoUser = new CognitoIdentityServiceProvider.CognitoUser(userData)
- console.log(util.inspect({cognitoUser},{depth:10}))
- return new Promise((resolve,reject) => {
- cognitoUser.authenticateUser(authenticationDetails, { onSucess: resolve, onFailure: reject })
- })
- }
- /*
- UserPoolClient =
- { UserPoolClient:
- { UserPoolId: 'us-east-1_wFOFq1wEh',
- ClientName: 'RomansApp',
- ClientId: '60sva58faehb',
- ClientSecret: '1jsouqh0kpf8coih9if53',
- LastModifiedDate: 2016-06-14T03:34:02.029Z,
- CreationDate: 2016-06-14T03:34:02.029Z } }
- */
- createUser({
- ClientId: 'n08mk40irjp',
- ClientSecret: '1b56bu7defa04',
- Username: "peon375",
- Password: "Rubber69*!",
- Name: "Sit Fuglar",
- Address: "adsfasdf",
- Email: "foo@bar.com",
- PhoneNumber: "+61456006430",
- Locale: "EN"
- }).then((data)=>{
- console.log(data)
- })
- .catch((err)=>{
- dump(err)
- console.log("Bad")
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement