微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Microsoft Identity Web 为 redirect_url

如何解决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 举报,一经查实,本站将立刻删除。