J'ai un pool d'utilisateurs AWS cognito avec certains utilisateurs et j'essaie d'obtenir un jeton pour un utilisateur dans mon application native. Mais dès que je me réfère à l'aws cognito javascript SDK dans mon application native réagir il se bloque. J'ai réussi à obtenir le jeton dans l'application de réaction. Voici mon code dans l'application de réaction. Je cherche de l'aide pour migrer ce simple morceau de code pour réagir natif.Comment puis-je authentifier un utilisateur sur un pool d'utilisateurs AWS cognito en mode réactif?
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import {
AuthenticationDetails,
CognitoUser,
CognitoUserPool,
CognitoUserAttribute
} from 'amazon-cognito-identity-js';
class App extends Component {
constructor() {
super();
this.state = { token: null };
}
getToken = function() {
var authenticationData = {
Username : 'testuser',
Password : 'test123',
};
var authenticationDetails = new AuthenticationDetails(authenticationData);
var poolData = {
UserPoolId : 'ap-southeast-2_412', // Your user pool id here
ClientId : '123' // Your client id here
};
var userPool = new CognitoUserPool(poolData);
var userData = {
Username : 'testuser',
Pool : userPool
};
var cognitoUser = new CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
let tok = result.getAccessToken().getJwtToken();
console.log('access token + ' + tok);
this.setState({ token: tok });
},
onFailure: function(err) {
console.log(err);
},
newPasswordRequired: function(userAtt, reqAtt)
{
console.log(userAtt);
console.log(reqAtt);
}
});
}
render() {
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
<button onClick={ this.getToken.bind(this) }>Get Token</button>
<p>
Token: { this.state.token }
</p>
</div>
);
}
}
export default App;
Merci.
J'ai dû utiliser ce module: https://github.com/AirLabsTeam/react-native-aws-cognito-js – MattyK14