Oauth2-如何自动获取访问令牌

时间:2018-10-09 03:18:13

标签: laravel oauth-2.0 guzzle

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

此API的身份验证步骤为:

  1. 请求应用程序身份验证:
  

https://api.apiname/v1/oauth?app_id= [值]&redirect_url = [值]   &response_type = [值]&范围= [值]和状态= [值]

->它将重定向到该API的登录页面

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

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

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

由于客户端不必登录API即可获取代码,那么如何在系统中自动完成步骤1,2,3?有没有办法我可以在不显示登录页面的情况下完成步骤1?

1 个答案:

答案 0 :(得分:1)

我认为OAuth2中的授权代码授予类型的主要目的是使用第三方登录,而不必在我们的应用程序中保存用户凭据。

"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