如何解决Microsoft Identity Web 为 redirect_url
我有一个 ASP.NET Core MVC 应用,我想使用 Azure B2C 身份验证。
正在生成的 redirect_url 具有 http
而不是 https
,如下所示:
&redirect_uri=**httP**%3A%2F%2Fmyapp.com%2Fsignin-oidc
这应该是 https
,它导致了这个错误:
AADSTS50011:请求中指定的回复 URL 与为应用程序配置的回复 URL 不匹配:'9dbe40e0-7555-4ddf-9c17-b5218ed6ca89'。
我的 appsettings.json
看起来像这样:
"AzureAdB2C": {
"Instance": "https://login.microsoftonline.com/","Domain": "xxx","ClientId": "xxxx","TenantId": "xxxx","ClientSecret": "xxxx","CallbackPath": "/signin-oidc","SignedOutCallbackPath ": "/"
}
我在 Startup.cs
中的代码是这样的:
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration,"AzureAdB2C");
出于某种原因,这在我使用 localhost (redirect_url=https) 的开发机器上运行良好,但在服务器上它总是 http
。
有什么想法吗?这让我整天发疯
编辑:已解决! 原来问题是我在 IIS 中没有 HTTPS 绑定,只有一个 HTTP 绑定......奇怪,因为我是通过 https 访问网站的:/ /... - 我猜 IIS 以某种方式提供了证书并允许 HTTPS,即使我没有绑定它
解决方法
感谢大家的帮助!
事实证明这是因为我在 IIS 中没有 HTTPS 绑定。
我通过 HTTPS 访问该站点,所以不确定 IIS 是如何允许的,但是添加 HTTPS 绑定修复了 redirect_uri 问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。