【发布时间】:2021-09-15 02:56:17
【问题描述】:
我一直在尝试将身份验证添加到我的网络应用程序中:https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/1-WebApp-OIDC/1-1-MyOrg
如果我通过 dotnet run 使用 appsettings.Development.json 在本地运行,我可以按预期使用我的组织凭据登录。当我将容器化并部署到 Azure 中的 Web 应用程序时,我没有成功登录。浏览器中的 url 保持在 /signin-oidc 并从默认的 Razor pages 应用程序转到错误页面。
应用服务日志有消息说.AspNetCore.Correlation.OpenIdConnect.[key?] cookie not found
[更新] 身份验证流程适用于我的手机,但不适用于桌面。
- 为什么相同的代码可以在本地工作但不能部署?
- 为什么找不到 cookie?
- 为什么它可以在 iOS 而不是 Windows 上运行?
【问题讨论】:
-
您是否在 azure 广告重定向 url 中添加了网络应用程序 url 信息?当你在本地机器上测试时,你应该使用像
localhost:port/xxxx这样的url,在部署到azure之后你应该添加生产环境域。 -
是的。做过某事。在我记得那个设置之前,错误是由于没有匹配的重定向而导致的身份验证失败。现在它一直到我的页面,但重定向 url 似乎没有被处理。我没有帐户操作控制器,因为我使用的是
Microsoft.Identity.Web.UI AddMicrosoftIdentityUI()扩展。
标签: asp.net-core azure-web-app-service razor-pages microsoft-identity-platform microsoft-identity-web