【问题标题】:Oauth2 - How to automatically get access tokenOauth2 - 如何自动获取访问令牌
【发布时间】:2019-03-13 17:59:59
【问题描述】:

我有一个任务需要调用 外部 Oauth2 API 来获取数据。

这个API的认证步骤是:

  1. 请求应用验证:

https://api.apiname/v1/oauth?app_id= [值] & redirect_url = [值] & response_type = [value] & scope = [value] & state = [value]

-> 会重定向到这个API的登录页面

  1. 登录后获取验证码
  2. 使用该代码然后请求获取访问令牌:

https://api.apiname/v1/token?grant_type=oauth_code&app_id=[value]&secret=[value]&code=[value]

  1. 使用收到的访问令牌调用特定的 API 来获取数据。

那么我怎样才能在我的系统中自动完成第 1、2、3 步,因为客户端不必登录 API 来获取代码?有没有办法在不显示登录页面的情况下完成第 1 步?

【问题讨论】:

    标签: laravel oauth-2.0 guzzle


    【解决方案1】:

    我认为 OAuth2 中授权代码授予类型的主要目的是使用 3rd 方登录,而无需在我们的应用中保存用户凭据。

    "Is there a way I can go through step 1 without showing login page?" : 如果您这样做,这在某种程度上只是客户端凭据流。我不是专家,但我认为使用 chrome/firefox 驱动程序使用网络抓取为您填充数据在技术上是可行的。但是在使用它之前请三思而后行,因为您覆盖了 AuthCode 授权类型的全部目的。

    参考:Securing an existing API with our own solution

    【讨论】:

      猜你喜欢
      • 2021-11-10
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 2022-11-28
      相关资源
      最近更新 更多