node.js - 如何使用 facebook 令牌或 google accesstoken 使用 nodejs 或 lambda 函数注册 AWS cognito?
问题描述
我正在尝试使用 Google 和 Facebook 登录添加 AWS Cognito。不知何故,当前的插件无法与我当前的设置一起使用,而且我现在无法让它工作几天。添加多个错误后https://github.com/agnostech/flutter_amplify/issues/4和https://github.com/furaiev/amazon-cognito-identity-dart-2/issues/42到目前为止没有帮助。所以我想使用访问令牌向 lambda 发出获取/发布请求(因为我使用 Facebook 和 google 登录,但无法将用户添加到 Cognito),这将添加用户。
AWS.config.region = 'us-XXXXXXX-1';
// Add the Google access token to the Cognito credentials login map.
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'us-XXXX-1:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
RoleArn: 'arn:aws:iam::XXXXXXXX:role/Cognito_XXXXXXXXXUnauth_Role',
Logins: {
'accounts.google.com': authResult['id_token']
}
});
我正在关注此AWS Cognito + google 注册,但在当前日期是否有更好的方法来执行此操作?此外,每次用户登录时,它都会尝试将用户添加到 Cognito 吗?考虑到我们只有一个用于签名或注册的按钮。
提前致谢。
解决方案
我刚刚阅读了本指南以使用 cognito 进行 google auth。 https://docs.aws.amazon.com/cognito/latest/developerguide/google.html
这很简单,你必须使用常规方式登录谷歌,一旦你从谷歌收到访问令牌,你就将它传递给 cognito。
logins.put("accounts.google.com", token);
credentialsProvider.setLogins(logins);
打包方式,
有一个插件,请在此处查看指南中的一个用例。 https://pub.dev/packages/amazon_cognito_identity_dart_2
引用文档
用例 19.在移动设备上将此库与 Cognito 的联合登录一起使用。使用flutter_webview
( https://pub.dev/packages/webview_flutter ) 导航到 Cognito 的授权 URL。使用 flutter_webview 的 navigationDelegate 捕捉重定向到myapp://?code=<AUTH_CODE>
. 向 Cognito 的令牌 URL发出POST
请求以获取您的令牌。使用令牌创建会话和用户
推荐阅读
- r - 在 R 中,如何从数据框中删除空行并从单元格中提取一个值并将其粘贴到另一个单元格中?
- arrays - MongoDB中的规范化对象和数组
- java - 将字符串转换为日期(使用不同的格式)
- c - Scanf 只会在 For 循环中扫描一次
- sql - 如何不选择某些列相同而一列不同的行?
- java - 无法将类型化集合作为方法参数传递
- user-interface - 我被困在我的 GUI [wxpython] 中使用绝对定位
- javascript - 为什么 DIV 认为 Element 是字符串?
- json - Bash 创建 JSON 文件清单
- view - Windows 10 快速访问 将默认视图更改为详细信息