我尝试遵循 this 中提到的 OAuth 隐式流程。文档 而且效果很好。
但是当我将response_type更改为“ token ”时, azure 广告重定向回https://example.com/#access_token=ey...
而不是https://example.com/?access_token=ey...
区别在于 #
而不是 ?
。这是一个问题,因为我们无法使用
Request.Params.Get("access_token"); //this always null
如何从 url 获取访问 token ?
最佳答案
这是一个陷阱!
您无法在后端执行此操作。
这就是它作为片段而不是参数的全部意义 - 只有用户代理才能提取它。使用 adal.js
或在 JavaScript 中手动提取它并放置在本地/ session 存储中。
按照azure-activedirectory-library-for-js中的示例进行操作看看 this method .
关于c# - OAuth 隐式流的 Azure AD 响应问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49568700/