我使用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/