次のノードアプリケーションでamazon-cognito-identity-jsのv1.10を使用します。ノードjs内のCognitoユーザープールを認証する方法
私は次のように書いています。 この呼び出しは、ユーザー登録が確認され、電子メールが確認された後に行われます。 authenticateUserが呼び出されると
var AWS = require('aws-sdk');
var AWSCognito = require('amazon-cognito-identity-js');
router.post('/emailsignin', function(req, res, next) {
var email = req.body.email;
var pwd = req.body.password;
AWS.config.region = 'eu-west-1';
var poolData = {
UserPoolId : AWS_USERPOOLID,
ClientId : AWS_APPCLIENTID
};
var userPool = new AWS.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var authenticationData = {
Username : email,
Password : pwd,
};
var authenticationDetails = new AWS.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
var userData = {
Username : email,
Pool : userPool
};
var cognitoUser = new AWS.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
},
onFailure: function(err) {
}
});
、私は「のReferenceErrorを:ナビゲータが定義されていません」を取得
をブラウザの呼び出しがノードサーバの内部で試みられているように見えます。
私はこの上のgithubの問題を作成したとの勧告が "jsbn" を参照してくださいすることでした: "^ 0.1.0"、 "SJCL": "^ 1.0.3"、 「アマゾン・cognitoアイデンティティ-js ":"^1.10.0 "、 " aws-sdk ":"^2.5.3 "
私はパッケージのバージョンを変更しました。残念ながら、これでもうまくいきませんでした。 電子メールIDとパスワードを使用して認証しようとするサンプルnodejsアプリケーションを作成しました。
NB:Cognitoプールはエイリアスとして電子メールで設定されています。ユーザーは作成され、確認され、電子メールで確認されました。
ソースレポ:「が見つかりませんナビゲーター」を解決する方法についてhttps://github.com/prem911/cognito-nodejs
任意のポインタ?
Cognitoは_servers_、AWSに認証する_users_ためのサービスではありません。このコードはクライアント側で実行する必要があります。 –
その場合、クライアントのjsファイルにawsユーザーのプールIDとawsのアプリケーションのクライアントIDが公開されていないことがあります。私はサーバーからフェデレーションされたIDの認証を行うことができました。これはクライアントからも行われるべきですか? – prem911
あなたは、その情報を公開することが悪いと思う場合、どのようにコグニートが動作するかを確認する必要があると思います。私はそれが第一の価値提案であるとは思わないと思います。 –