gpt4 book ai didi

oauth - 用户的 Apigility 和 oAuth

转载 作者:行者123 更新时间:2023-12-04 23:21:45 25 4
gpt4 key购买 nike

我即将开始使用 rest API 开发应用程序,我想使用 apigility。不幸的是,这个想法有一个问题。我找不到可靠的信息来源如何允许普通用户通过 oAuth 进行身份验证。

我需要提供对 angular 应用程序和 native 移动应用程序的访问(将来可能会用于第三方 Web 应用程序)。我发现的所有资源都是关于授予特定客户端应用程序的 api 访问权限,而不是授予使用此应用程序的特定用户的访问权限。我不想实现两种不同的身份验证方法,因此如果有一种方法可以通过 apigility 解决此问题,那就太好了。

你有什么建议如何解决这个问题吗?我知道我可以为所有注册用户生成客户端 ID 和密码,但这有点糟糕的解决方案,而且我已经有了用于存储用户信息的数据库架构。

最佳答案

您可能正在寻找的是“密码”授权类型。在这种情况下,您将有一种注册用户及其密码的方法,然后是各种“登录”屏幕。此登录屏幕将发送以下信息:

  • 用户名
  • 密码
  • client_id -- 这将是应用程序的 OAuth2 客户端 ID(不是用户 ID!)
  • "grant_type": "密码"

  • 请注意,在这种情况下您没有提供 client_secret!在用户凭据方案的情况下,验证用户的凭据,然后服务器验证 client_id 是否支持此授权类型。

    如果用户提供了成功的凭据,那么 OAuth2 端点将返回一个 token 、一个 TTL 和一个 refresh_token(如果您在 TTL 到期之前发送它,则会为您提供一组新的 token )。

    从这里开始,您将在 Authorization header 中发送 token :“Authorization: Bearer”。然后,Apigility 将在每个请求中选择它并验证 token 。

    验证还返回用户名作为身份的一部分。这意味着您可以查询 ZF\Mvc\Identity 来检索用户,以便稍后执行特定于用户的 ACL 断言!

    如果您需要更多指导,请在邮件列表 ( http://bit.ly/apigility-users ) 上戳我。

    关于oauth - 用户的 Apigility 和 oAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23768389/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com