2017-02-24 26 views
0

我与客户端凭证打授予代理这里描述https://msdn.microsoft.com/en-us/office/office365/howto/building-service-apps-in-office-365不正确的回调授予OAuth2流程

这里的流动是我最初的授权请求: 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

我其实更喜欢通过POST GET,但有一个哈希唱#而不是问号?在URL中,所以参数实际上不是GET参数。

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

回答

0

按规格OAuth2支持不同response modes。 添加response_mode=query可解决问题。这意味着MS授权终端默认使用response_mode=fragment,这在文档中没有明确描述。