【问题标题】:Which grant type to use to authenticate third party client for API access?使用哪种授权类型来验证第三方客户端的 API 访问权限?
【发布时间】:2019-05-17 13:58:02
【问题描述】:

我是第一次构建第三方 API。我有一个使用护照进行身份验证的 laravel 应用程序。我正在构建一些 API 来向其他合作伙伴提供我的内容。我一直在研究在这种情况下使用哪种授权类型。

我首先想到的是客户凭证授予。但是没有与此授权类型关联的用户,这将难以保持 API 访问跟踪(生成客户端明智的 API 访问报告),并且不提供刷新令牌。

其次是密码授予类型。此方法有用户并且还提供刷新令牌。但我不确定这是否正确。

谁能建议在这种情况下使用哪种授权类型?任何帮助将不胜感激。谢谢

【问题讨论】:

  • 如果您只是令牌的消费者,为什么还要考虑授权类型?如果您正在构建 API,您应该获取访问令牌、验证它(有效性、范围)并执行操作或拒绝它。
  • 如果您正在寻找一种将最终用户与客户端相关联的方法,您是否考虑过使用 OpenID Connect?它可能会使用授权代码或隐式流程,具体取决于您的架构外观。
  • @rj2700 我不需要将最终用户连接到客户端。只有我和客户。我将我的策划内容提供给客户。
  • @JánHalaša 对,我想我应该放弃使用 laravel 护照的想法。

标签: laravel api authentication oauth-2.0 laravel-passport


【解决方案1】:

对于您的情况,您可以使用personal access token method。个人访问令牌是一个长期存在的令牌,您无法撤销或刷新令牌,但您可以调整其过期时间。

【讨论】:

  • 这也是一个不错的选择。但我转向了简单的 JWT-Auth,因为我认为在这种情况下不需要 OAuth2。
  • 我不确定 JWT-Auth 但个人访问令牌已准备好用于基于服务的解决方案。
猜你喜欢
  • 1970-01-01
  • 2013-05-03
  • 2020-03-23
  • 1970-01-01
  • 2018-12-01
  • 1970-01-01
  • 2014-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多