Kri*_*ian 5 javascript amazon-web-services amazon-cognito aws-sdk
我是 Cognito 的新手。所以我需要澄清一下我应该如何注册通过社交登录注册的用户。
我已经创建了一个用户池和一个联合身份池。
然后,我在用户单击登录按钮时向 twitter 执行了一个基本的 oauth 请求,然后使用成功登录后收到的 twitter 令牌和机密,我执行一个请求以获取 Cognito Identity 凭据。
var params = {
IdentityPoolId: 'my-pool-id',
Logins: {
'api.twitter.com': userToken+";"+userSecret
}
};
// initialize the Credentials object with our parameters
AWS.config.credentials = new AWS.CognitoIdentityCredentials(params);
AWS.config.credentials.get(function(err) {
if (err) {
console.log("Error: "+err);
return;
}
console.log("Cognito Identity Id: " + AWS.config.credentials.identityId);
// Other service clients will automatically use the Cognito Credentials provider
// configured in the JavaScript SDK.
var cognitoSyncClient = new AWS.CognitoSync();
cognitoSyncClient.listDatasets({
IdentityId: AWS.config.credentials.identityId,
IdentityPoolId: params.IdentityPoolId
}, function(err, data) {
if ( !err ) {
console.log("success", JSON.stringify(data));
} else {
console.log("cognito error", err);
}
});
Run Code Online (Sandbox Code Playgroud)
然后我得到了一个带有认知身份 ID 的成功响应,以及该用户的数据集列表。
我也应该在用户池中注册该用户吗?当谈到社交登录的概念时,该产品的文档有点脱节。
简而言之,用户池只是充当应用程序的用户数据库。它适合那些不想管理数据库来存储用户登录数据等的人。
用户池是一个身份提供者,就像 Google、Facebook、Twitter 等一样。
如果您希望只允许用户使用 Twitter 凭据登录您的应用程序,那么您不需要用户池。
仅当您希望创建用户信息的托管数据库时,才考虑使用用户池。
https://aws.amazon.com/blogs/aws/new-user-pools-for-amazon-cognito/
| 归档时间: |
|
| 查看次数: |
955 次 |
| 最近记录: |