【发布时间】:2015-05-22 21:54:30
【问题描述】:
我有一个基于 Laravel 5 / Socialite 构建的 php Web 应用程序,我正在尝试使用 Windows azure AD OAuth 流实现 SSO 解决方案,但我得到一个通用的“400 Bad Request Error " 在对访问令牌的第二个 OAuth 请求上。
对 office 365 授权 URL 的第一个请求成功并向我的应用程序返回一个授权代码,但是当我尝试获取用户访问令牌时它失败了。
我已经检查并重新检查了我的请求,并且据我所知,它似乎是正确的:
POST https://login.windows.net/common/oauth2/token
标题
Host:login.windows.net
Content-type:application/x-www-form-urlencoded
User-Agent: wTrack/.001
Date: Thu, 21 May 2015 02:48:43 GMT
身体
client_id=1ad9f025-dfaf-4cb7-a9ff-29ea619bab44&
client_secret=<secret>&
code=<code>&
redirect_uri=https%3A%2F%2Fwtrack.dev%2Flogin%2Fmicrosoft&
grant_type=authorization_code
我研究这个已经有一段时间了。任何可以提供的帮助将不胜感激。
【问题讨论】:
-
通常状态为 400 的响应包含带有解释性消息的 JSON。如果存在,请您检查并发布吗?
-
感谢@Igor 的建议。一旦我知道 JSON 信息在那里,我就四处寻找直到找到它:) 结果我收到了错误,因为我没有在 POST 请求的正文中包含
resource参数。