我使用aqueduct create -t db_and_auth创建了一个 Aqueduct 项目,但我不了解OAuth 2.0的注册和身份验证的工作原理。有人可以解释如何从 Aqueduct 自动创建的OAuth2.0和DB模板中进行注册,以及我必须执行哪些步骤进行注册然后进行身份验证吗?

最佳答案

在客户端应用程序中,您使用包含用户的JSON有效负载POST /register。根据您所用模板的版本,这可能只是{"username": "bob", "password": "password"}-检查_User类型的定义。

对现有用户进行身份验证时,可以调用POST /auth/token并将用户名,密码和其他必填字段作为x-www-form-urlencoded数据传递。该请求的格式-用Dart代码编写-在这里:http://aqueduct.io/docs/auth/controllers/

无论您是注册新用户还是对现有用户进行身份验证,都必须提供客户端标识符(以及可选的客户端密码)作为基本授权 header 。客户端标识符必须已经在您的应用程序中注册并存储在其数据库中。

要将客户端标识符存储在数据库中,您需要首先在数据库实例上运行应用程序的数据库迁移(有关运行数据库迁移的信息,请参阅http://aqueduct.io/docs/db/db_tools/)。这将创建用于存储OAuth 2.0客户端标识符和 token 的表。

然后,您需要向数据库添加OAuth2.0客户端标识符。最好使用aqueduct auth CLI完成此操作,并且在此处提供文档:http://aqueduct.io/docs/auth/cli/

关于oauth - 无法理解 Aqueduct 自动生成的数据库和身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52469290/

10-11 14:11