nativescript-aws-cognito
Version:
AWS Cognito Service limited edition
70 lines (58 loc) • 3.45 kB
JavaScript
;
require('globals');
var app = require("tns-core-modules/application");
global.onmessage = function(msg) {
var request = msg.data;
var userName = request.userName;
var password = request.password;
var region = request.region;
var clientId = request.clientId;
var secretId = request.secretId;
var poolId = request.poolId;
var reg;
switch(region){
case "AWSRegionUSEast1" : {reg = com.amazonaws.regions.Regions.US_EAST_1; break;}
case "AWSRegionUSEast2" : {reg = com.amazonaws.regions.Regions.US_EAST_2; break;}
case "AWSRegionUSWest1" : {reg = com.amazonaws.regions.Regions.US_WEST_1; break;}
case "AWSRegionUSWest2" : {reg = com.amazonaws.regions.Regions.US_WEST_2; break;}
case "AWSRegionEUWest1" : {reg = com.amazonaws.regions.Regions.EU_WEST_1; break;}
case "AWSRegionEUWest2" : {reg = com.amazonaws.regions.Regions.EU_WEST_2; break;}
case "AWSRegionEUCentral1" : {reg = com.amazonaws.regions.Regions.EU_CENTRAL_1; break;}
case "AWSRegionAPSoutheast1" : {reg = com.amazonaws.regions.Regions.AP_SOUTHEAST_1; break;}
case "AWSRegionAPNortheast1" : {reg = com.amazonaws.regions.Regions.AP_NORTHEAST_1; break;}
case "AWSRegionAPNortheast2" : {reg = com.amazonaws.regions.Regions.AP_NORTHEAST_2; break;}
case "AWSRegionAPSoutheast2" : {reg = com.amazonaws.regions.Regions.AP_SOUTHEAST_2; break;}
case "AWSRegionAPSouth1" : {reg = com.amazonaws.regions.Regions.AP_SOUTH_1; break;}
case "AWSRegionSAEast1" : {reg = com.amazonaws.regions.Regions.SA_EAST_1; break;}
case "AWSRegionCNNorth1" : {reg = com.amazonaws.regions.Regions.CN_NORTH_1; break;}
case "AWSRegionCACentral1" : {reg = com.amazonaws.regions.Regions.CA_CENTRAL_1; break;}
case "AWSRegionUSGovWest1" : {reg = com.amazonaws.regions.Regions.GovCloud; break;}
}
var clientConfiguration = new com.amazonaws.ClientConfiguration();
var utils = require("utils/utils");
var context = utils.ad.getApplicationContext();
// Create a CognitoUserPool object to refer to your user pool
var userPool = new com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUserPool(context,
poolId, clientId, secretId, clientConfiguration,reg);
var user = userPool.getUser(userName);
var authenticationDetails = new com.amazonaws.mobileconnectors.cognitoidentityprovider.continuations.AuthenticationDetails(userName, password,null);
user.getSession(new com.amazonaws.mobileconnectors.cognitoidentityprovider.handlers.AuthenticationHandler({
onSuccess:function(cognitoUserSession, cognitoDevice){
var msg = {success:true, sessionId:cognitoUserSession.getIdToken().getJWTToken()};
postMessage(msg);
},
getAuthenticationDetails:function(continuation, str){
continuation.setAuthenticationDetails(authenticationDetails);
continuation.continueTask();
},
getMFACode:function(multiFactorAuthenticationContinuation){
},
authenticationChallenge:function(challengeContinuation){
},
onFailure:function(exception){
exception.printStackTrace();
var msg = {success:false,error:exception.getLocalizedMessage()};
postMessage(msg);
}
}));
};