将 OpenID Connect CallbackPath 设置为 HTTPS

2024-01-21

我有一个 .Net Core 3.1 应用程序,托管在 AWS 中的 https 负载均衡器后面。对于外界来说,它是一个 https 站点,但对于 AWS 内部来说,它在平衡器后面的 http 上运行。

因此,OpenID Connect 中间件重定向到 HTTP 路径而不是 HTTPS。

有没有办法强制 OpenId Connect 使用 https 路径?

.AddOpenIdConnect("oidc", options =>
{
    var oauthConfig = Configuration.GetSection("OAuthConfiguration").Get<OAuthConfiguration>();

    options.Authority = oauthConfig.Authority;
    options.ClientId = oauthConfig.ClientId;
    options.ClientSecret = oauthConfig.ClientSecret;
    options.ResponseType = "code";
    options.GetClaimsFromUserInfoEndpoint = true;
    options.SaveTokens = true;
    options.CallbackPath = "/signin-oidc";

当发出授权请求时,会生成此重定向 uri

"RedirectUri": "http://demo.mysite.com/signin-oidc"

我无法硬核进入CallbackPath因为我的应用程序运行多租户,并且 URL 根据路由而不同。


您可以强制提供商在 https 中重写您的回调 url,如下所示

option.Events = new OpenIdConnectEvents()
            {
                OnRedirectToIdentityProvider = context =>
                {
                    var builder = new UriBuilder(context.ProtocolMessage.RedirectUri);
                    builder.Scheme = "https";
                    builder.Port = -1;
                    context.ProtocolMessage.RedirectUri = builder.ToString();
                    return Task.FromResult(0);
                }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 OpenID Connect CallbackPath 设置为 HTTPS 的相关文章

随机推荐

  • 可启动和跨平台应用程序并使用delphi或Pascal

    是否可以使用 Delphi 或 Pascal 创建可启动 MBR 应用程序 应用程序 我知道我们不能使用 vcl RTL 和其他东西 因为它们依赖于操作系统 但我可以至少使用 Readln 和 writeln 吗 如果是真的的话 我们可以在
  • 如何暂停/恢复视频录制

    我想在录制视频时实现暂停 恢复功能 MediaRecorder 没有任何暂停 恢复方法 本机相机应用程序具有暂停 恢复功能 可以实施吗 请指导我 任何帮助或指导将不胜感激 None
  • Azure Pipeline 使用 YAML 触发 Pipeline

    当使用 YAML 完成另一个管道时尝试触发 Azure 管道 有文档 https github com microsoft azure pipelines yaml blob master design pipeline resources
  • Android ListView 有两个按钮设置可见性问题

    I have Drag Sort Listview https github com bauerca drag sort listview与以下项目 1 文本视图2 两个按钮 ON和OFF 一次只有一个按钮可见 关闭状态的图像 http p
  • 是否可以在自定义组件中使用骆驼组件?

    我最近开始使用 Apache Camel 我们正在考虑创建自定义组件来抽象大量逻辑并简化路由 但其中一些逻辑涉及 http 请求和其他部分 这些部分具有我们想要利用的现有 Camel 组件 是否可以从我们的自定义组件的生产者中调用其他组件
  • 使用ajax调用Struts 2动作,直接向响应写入字符串,不返回字符串

    在 struts2 应用程序中 我调用 Ajax 请求并将字符串直接写入响应 如下所示并返回null在操作的执行方法中 ServeletActionContext getResponse getOutputStream print samp
  • 如何将逻辑运算符应用于Python列表中的所有元素

    我有一个 python 中的布尔值列表 我想对它们进行 与 或 或 或 非 并得到结果 下面的代码可以工作 但不太Pythonic def apply and alist if len alist gt 1 return alist 0 a
  • JSP 技巧让模板制作变得更容易?

    在工作中我的任务是转动一堆HTML文件转化为简单的JSP项目 它实际上都是静态的 没有可编程的服务器端逻辑 我应该提到我对 Java 完全陌生 JSP 文件似乎可以轻松地使用常见的包含和变量 就像PHP 但我想知道一种简单的方法来获得模板继
  • 是否可以通过 GitHub API 查明问题是否已通过拉取请求关闭

    I m using github script https github com marketplace actions github script for GitHub actions which allows you to easily
  • 如何在网络浏览器中以适当的比例显示 5 毫米网格?

    我正在创建一个用于显示心电图的 Web 应用程序 心电图通常是在 5 毫米方形网格上以固定比例 10 毫米 毫伏和 25 毫米 秒 绘制的 使用正确的尺寸非常重要 因为读者会将屏幕上看到的内容与可能仅存在于纸上的其他心电图进行比较 最推荐的
  • 生成 Markdown 表?

    有没有办法从对象 Python Ruby Java C 生成表 我想以编程方式创建一个简单的表 我有一些对象 我想将一些属性映射到标题 将集合映射到行 为什么是 Markdown 因为我想稍后手动编辑该文档 现在 整个过程是这样的 报告引擎
  • 如何使用 smack(java) 创建、发送和接收 iq 数据包

    我已连接到服务器 Xmpp 但无法在我的 psi 客户端发送和接收数据包 这是我的代码片段 POSClientIQ posclientiq new POSClientIQ posclientiq connectXMPPServer posc
  • 如何将我的 Google Analytics Web 应用程序转换为移动应用程序?

    我有一个移动应用程序 我应用了我的谷歌分析跟踪 ID 但是当我创建谷歌分析应用程序配置文件时 我最初选择网络应用程序而不是移动应用程序 在探索设置时 我找不到将其转换为移动应用程序的开关 我有超过 10 个具有不同谷歌分析跟踪 ID 的应用
  • 如何在 Angular 6 中导入 sass 文件

    我用 sass 创建了新的角度项目 并创建了名为 sass 的文件夹 其中包含一个名为 variables scss 的文件 在应用程序组件中 我尝试导入这样的变量 import variables 当我运行 ngserve 时出现以下错误
  • NHibernate QueryOver 带有子查询和别名

    我正在努力将以下 简化的 HQL 转换为 QueryOver select subscription from Subscription as subscription where not exists from Shipment as s
  • 在复制数据中丢失从源到接收器的数据

    在我的 MS Azure 数据工厂中 我有一个到嵌套 JSON 数据集的 REST API 连接 源 预览数据 显示所有数据 网上商店7个订单 在 活动复制数据 中 是菜单选项卡 映射 我在其中将 JSON 字段与接收器 SQL 表列进行映
  • 将代码嵌入到 docker 容器中还是将其挂载为卷?

    我是 docker 的新用户 即将在生产环境中从虚拟机迁移到容器 但后来 我突然意识到 最适合我的开发和质量保证环境的东西对于生产来说并不理想 在我的 dev 和 qa 中 我将版本化项目文件夹安装到 python php 命名它 容器中
  • 在 UIWebView 中显示图像

    我想使用在 WebView 中显示图像 img src imageInBundle png 上图在我的包里 我将它与字符串中的其他 HTML 一起加载 如下所示 myWebView loadHTMLString htmlString bas
  • Firebase Android 长按时删除 ListView 中的节点键

    尝试了很多搜索 但两天后我仍然陷入这个问题 我的 Firebase 中有以下数据库 该数据库填充在我的ListView 对于中的每一行ListView显示data1和data2 test 3db7e users W9KkXAidmHgyOp
  • 将 OpenID Connect CallbackPath 设置为 HTTPS

    我有一个 Net Core 3 1 应用程序 托管在 AWS 中的 https 负载均衡器后面 对于外界来说 它是一个 https 站点 但对于 AWS 内部来说 它在平衡器后面的 http 上运行 因此 OpenID Connect 中间