我想使用Cognito对我的用户进行身份验证,这是一个内置于Flutter和Dart的应用程序。
不幸的是,Dart不存在本机AWS SDK,我不能在颤振中使用JS互操作。
我已经研究了OAuth2流,但这需要将我的用户重定向到登录表单,这对移动应用程序来说不是很好。
有哪些替代方案?
您可以实现后端服务来验证Cognito凭据。
在这种方法中,可以在移动应用中实现登录屏幕,将用户凭据发送到后端。在后端,您可以使用Cognito SDK验证凭据,并发出令牌,该令牌将被发送用于移动应用的后续API请求。
您可以使用AWSAPI网关和Lambda来实现这一点。
例如,请参考此实现NodeJS后端。
您可以尝试amazon_cognito_identity_dart包,它完全是用dart编写的。
import 'package:amazon_cognito_identity_dart/cognito.dart';
final userPool = new CognitoUserPool(
'ap-southeast-1_xxxxxxxxx', 'xxxxxxxxxxxxxxxxxxxxxxxxxx');
final cognitoUser = new CognitoUser(
'email@email.my', userPool);
final authDetails = new AuthenticationDetails(
username: 'email@email.my', password: 'Password001');
CognitoUserSession session;
try {
session = await cognitoUser.authenticateUser(authDetails);
} on CognitoUserException catch (e) {
// handle CognitoUser exceptions
} catch (e) {
print(e);
}
print(session.isValid());
查看示例Secure Counter应用程序,了解如何将其与颤振一起使用。
免责声明:我是该软件包的原始作者。
我想从本地的加载我的自定义插件。文件编译良好,当我检查它时,清单和插件类就在那里。 这个插件还没有做任何有用的事情,因为它应该是一个概念验证,以确保它能够正常工作: 在以下任何源中都找不到插件[ID:“asdf”,版本:“1.4.0”]: 我错过了什么?我使用Gradlev6.5。
问题内容: 我已经使用flask-oauthlib实现了一个oauth2服务器和一个oauth2客户端。 当我尝试在本地测试时,客户端返回InsecureTransportError并告诉我应该使用https。 有没有办法在没有https的情况下在本地测试应用程序? 客户端运行在127.0.0.2:5000,服务器运行在127.0.0.1:5000。 问题答案: 你应注意,Oauth2通过SSL层
问题内容: 以下App Engine处理程序在可以获取令牌的范围内起作用: 当连接到模板时,它会从Facebook获得令牌响应并愉快地显示它。但是,最好不要将用户重定向到example.com/?state=SOME_UNIQUE_VALUE&code=AQB0iYpAf8nMmX5blahblah# = 来完成登录。 有没有一种方法可以使用client.Get等来访问授权URL,遵循重定向,
问题内容: 如果我要使用DefaultServeMux(我将其指定为ListenAndServe的第二个参数来指定),那么我可以访问,您可以在Go Wiki的以下示例中看到该: 在当前代码中,我无法使用DefaultServeMux,即我将自定义处理程序传递给ListenAndServe 因此,我没有内置的代码。但是,我必须将一些授权代码修改为需要类似的授权代码。例如,如果我一直在使用Defaul
我有一个具有两个属性的dynamoDB表: A: 主分区键 B: 主排序键 我想使用属性B查询这个表,因为我不知道A的值。可以这样做吗? 是否可以将B设为GSI(全局二级索引),如何使用B查询表,因为B已经是排序键。
问题内容: 我有和。 我的Linux Mint 12上有很多错误,我只是重新安装了它,所以我想再次从头开始安装所有内容。 这是我的错误之一。我在那里收到一个有趣的答案: 停止使用su和sudo运行virtualenv。 你需要以普通用户身份运行virtualenv。 你已经使用sudo创建了virtualenv,这就是为什么你会收到这些错误的原因。 那么如何不使用安装呢?我可以使用还是不使用?还是