【发布时间】:2018-11-02 03:42:51
【问题描述】:
我正在尝试在我的应用程序中使用 AAD 身份验证,当我在 VS 中本地运行它并且我可以登录时它工作正常,但是当我将它发布到 azure appservice 并尝试访问应用程序时,我收到错误消息回复 URL 不匹配。
这是我的 appsettings.json 部分
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "xxxxx.me",
"TenantId": "xxxxx",
"ClientId": "xxxx",
"CallbackPath": "/signin-oidc",
"ClientSecret": "xxxxx",
"AppIDURL": "https://xxxxx.me/yyyyyBackend",
"ConfigView": "MVC"
在应用注册中,我添加了回复 URL,它是来自 appservice 的应用 URL,我也添加了
https://xxxxx.me/yyyyyBackend/signin-oidc
但两者都不起作用,所以我现在有点困惑
我需要添加另一个回复 URL 吗?
* 编辑 *
在使用 fiddler 并在应用程序尝试进行身份验证时查看回调 URL 后,结果发现它发送了以下重定向 URL
https://xxx.azurewebsites.net/.auth/login/aad/callback
在我的项目中没有指定 /.auth/login/aad/callback 并且如果我在 VS 中搜索整个项目,该字符串不会出现在任何地方,所以我完全不知道为什么它会发送该字符串重定向网址?它永远不会起作用,因为我的代码中没有任何地方
将该 URL 添加到我在 appservice 中的回复 URL 后,我在部署时收到以下错误消息
You do not have permission to view this directory or page.
【问题讨论】:
-
您的 Web 应用主页 URL 是什么?你能发布你指的是哪个样本吗?一般回复url应该是
<the Home page URL of your App>/signin-oidc -
在 Azure 门户中转到 Azure AD -> 应用注册,然后单击有问题的应用,它在那里有一个主页属性,这就是我所指的
-
主页不应该只是在那里。您应该直接查看 Web App。例如。您的网络应用程序在哪里发布?主页应该只是您的 Web 应用的 URL。
-
我发布到 azure 应用服务,这是它分配给我的应用的 URL
-
因此,如果您的 Azure Web 应用程序的 URL 是
https://xxx.azurewebsites.net,则回复 url 应该类似于https://xxx.azurewebsites.net/signin-oidc
标签: c# azure azure-web-app-service azure-active-directory