我正在使用以下example来配置1.0.17版的adal.js的简单应用程序。在本地启动页面(http://localhost:8000/simpleSPA.html)时,我能够成功运行此示例并验证用户身份。但是,当simpleSPA.html从承载它的服务器返回到调用方时(访问特定URL时),我在身份验证方面遇到问题。由于令牌未定义,因此在simpleSPA.html中调用API失败。我在提琴手中监视了请求,并注意到只有一个GET请求/ common / oauth2 / authorize,其中response_type是id_token:
GET /common/oauth2/authorize?response_type=id_token&client_id=[client_id]&redirect_uri=[url that returns simplspa.html]&state=[state id]&client-request-id=[request id]&x-client-Ver=1.0.17&nonce=893886e6-4042-4059-9dc7-ae8acf2af792 HTTP/1.1
当我在localhost上运行同一页面时,我看到2个请求:首先,我看到对/ common / oauth2 / authorize的GET请求,其中response_type是id_token。
第二个是对/ common / oauth2 / authorize的GET请求,其中response_type是令牌
GET /common/oauth2/authorize?response_type=token&client_id=[client id]&resource=[resource]&redirect_uri=[url that returns simplespa.html]&state=[state id]&client-request-id=[client request id]&prompt=none&login_hint=testuser.domain***.onmicrosoft.com&domain_hint=[domain] HTTP/1.1
我验证了访问令牌和ID令牌都已在Azure上为客户端应用程序启用。 因此,我的目标是了解在本地运行页面导致检索访问令牌的原因。最好了解在我描述的场景中阻止获取访问令牌的条件。预先感谢您提供任何可帮助我调查此问题的想法!
答案 0 :(得分:0)
也许将AAD应用程序注册中的重定向URI设置为新服务器地址会有所帮助吗?
还不确定在演练中是否看到了此“注释”,但可能与以下内容有关:“您需要为已注册的应用启用“身份验证”选项卡中的“ ID令牌”选项。”