AAD应用程序注册不接受查询字符串参数



我已经在Azure AAD中注册了带有回复URL的应用程序。启用ID_TOKEN和AUTH令牌。如果我将确切的URL作为参数,则可以正常工作。但是,如果我将查询字符串添加为参数回复URL,则无法正常工作并抛出错误

AADSTS50011:请求中指定的答复URL与 回复为应用程序配置的URL:''。

以下是我的示例URL格式,由adal.js文件生成。

https://login.microsoftonline.com/.onmicrosoft.com/oauth2/authorize

?wenspy_type = id_token& client_id =

& redirect_uri = ?p1 = 123& p2 = 456

& state = 62439108-D296-4A0D-91CC-4F6580656E83

& client-request-id = 1A5AD90A-26FC-4E60-BBCC-8D58BBBBCC1F7

& x-client-sku = js& x-client-ver = 1.0.13

& nonce = A4A6215C-0706-4FBC-91A9-36E4CD3A262E

如果我删除此?p1 = 123& p2 = 456 查询字符串,从redirect_url,它可以正常工作。我看到的另一个解决方法是,我是否要在URL末尾进行旧版应用程序注册并添加" "。但是新应用注册在注册时不允许在回复_url中" "。

其他人也面临同一问题并修复了不添加"*"在回复_URL注册中的问题吗?请让我知道。

这是Adal.js(和MSAL.JS(的问题,默认情况下将重定向URI设置为当前URL。您可以通过这样的方法来解决它:

  1. 将重定向URI设置为window.location.origin + "/aad-callback"(或其他任何(
  2. 需要登录时,将当前URL存储在sessionstorage(或本地存储或cookie(
  3. 触发登录重定向
  4. 当您的应用程序回到/aad-callback时,请从URL片段中处理令牌
  5. 从SessionStorage加载本地重定向URL
  6. 重定向用户

我写了一篇与此相关的文章,但对于msal.js:https://joonasw.net/view/avoiding-wildcard-reply-reply-urls-with-msal-js。对于adal.js。

,这些概念相同

最新更新