【问题标题】:Incorrect callback in Office 365 Client credentials grant OAuth2 flowOffice 365 客户端凭据中的错误回调授予 OAuth2 流
【发布时间】:2017-07-15 04:28:44
【问题描述】:

我正在使用此处描述的客户端凭据授予流程https://msdn.microsoft.com/en-us/office/office365/howto/building-service-apps-in-office-365

这是我的初始授权请求: https://login.microsoftonline.com/common/oauth2/authorize?nonce=c43a377e-8b75-4c7f-9fab-300f1dbc76c5&prompt=admin_consent&state=35&redirect_uri=http%3A%2F%2Flocalhost%3A6543%2Fcallback%2Foffice365&response_type=code+id_token&client_id=XXXX&scope=openid

根据文档,我希望在正文中收到带有令牌的 POST 回调。 但我实际上收到了这样的 GET 回调: http://localhost:6543/callback/office365#code=XXXXX&id_token=XXXXX&state=35&session_state=3a2e2c61-7e71-4f11-a9a6-f1dd8f50aeb6&admin_consent=True

我实际上更喜欢 GET 而不是 POST,但是有一个 hash sing # 而不是问号?在 URL 中,因此参数实际上不是 GET 参数。

我可以做些什么来接收有效的回调?

【问题讨论】:

    标签: oauth oauth-2.0 office365 microsoft-graph-api


    【解决方案1】:

    根据规范,OAuth2 支持不同的response modes。 添加response_mode=query 解决了这个问题。这意味着 MS 授权端点默认使用 response_mode=fragment,这在文档中没有明确描述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-18
      • 2019-12-03
      • 2019-06-16
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2019-05-11
      相关资源
      最近更新 更多