我正尝试通过Azure AD进行身份验证以获取访问令牌。 为此,我发送:GET请求中的clientId,租户,replyUrl。 页面将我重定向到Microsoft帐户授权。 然后将其重定向到带有代码,状态,会话状态的参数的replyUrl。
从url中读取它们后,我向https://login.microsoftonline.com发送POST请求,以接收 access_token ,refresh_token和其他参数作为JSON对象作为响应。
问题是,现代的浏览器不允许如此柔软的请求。但是我可以从后端或邮递员发送它们。 我曾尝试向iframe提出请求;设置参数crossOrigin:对于AJAX对象为true -浏览器也将其阻止。 我还使用过adal.js库,但是该库生成的令牌(实际上是id_token)不符合我的应用程序的access_token。
如何从无后端的单页应用程序中获取基于Azure的服务的 access_token ?