asp.net-core - Microsoft Identity Web 为 redirect_url 生成 http 而不是 https
问题描述
我有一个 ASP.NET Core MVC 应用程序,我想使用 Azure B2C 身份验证。
正在生成的 redirect_urlhttp
不是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 问题
推荐阅读
- sql - 如何在 TSQL 中使用 case 子句在 ROW_NUMBER() OVER 中添加多个排序列
- excel - 在通过powershell完全刷新之前保持excel打开?
- c# - 如何查询所有 Azure 编排实例以确定状态以进行监控?
- javascript - 使用 scrollmagic JS 检测滚动方向
- jquery - 如何在 mvc 项目中设置路由以正常工作?
- python - 如何将 sqlite3 表的变量(其值使用组合框获取)与 pyqt5 中的变量(再次使用组合框获取值)进行比较?
- react-native - 反应上下文未定义
- dictionary - 将 mapAsync 提取到 AkkaStreams 中的方法
- matlab - WORHP - Matlab 界面,LEQSOL 中的错误:符号步骤
- javascript - 如何在Javascript中动态更新对象?