问题标签 [mod-auth-openidc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
356 浏览

keycloak - 如何使用 mod_auth_openidc 保护 API

我有 3 个应用程序

  • 旧的基于 JSP 的 Java 应用程序
  • Spring Boot 网络应用程序
  • 温泉
  • 5个使用Spring Boot构建的java微服务REST API

我需要同时保护所有这些。我选择了 keycloak,因为这似乎是个好主意。因为我们使用 Apache 进行反向代理。我们选择了 mod_auth_openidc 来限制对反向代理级别的服务的访问。

我们为 Spring Webapp 和旧的 JSP 应用构建了扩展,以使用 mod_auth_openidc 提供的标头来处理活动用户和身份验证。

现在我们遇到了一个问题,即我们还使用 mod_auth_openidc 标头保护 API。尽管这有一个严重的缺点,因为 API 不能仅使用 JWT 令牌相互通信,因为反向代理需要对它们进行身份验证。

我们是否应该只使用 JWT 来保护 API?

任何 mod_auth_openidc 大师都知道这种情况的最佳方法吗?

我需要 REST API 能够在没有任何用户交互的情况下相互交谈。例如,仅使用令牌。

我们的网络应用程序(JSP 和 SPA)始终是完全安全的,例如用户必须登录才能访问它的任何部分。

我将不胜感激任何建议。

谢谢

0 投票
1 回答
948 浏览

apache - 授权请求的动态查询参数

您好,我想配置apache2服务器以将未经授权的用户重定向到我的提供商登录页面,例如googlegluu等等。我正在使用mod_auth_openidc下面的代码片段我的default-ssl.conf文件

现在有了这个配置,一切都OK了。当我进入我的站点时,apache 将我重定向到 OP 登录页面。我有 3 种身份验证机制,我的提供商决定必须加载哪个登录页面,这取决于请求中的参数acr_values和显示语言。ui_locales为此,我应该将此参数传递给 auth requset url。但mod_auth_openidc我做不到。我可以OIDCAuthRequestParams静态设置,但这不能解决我的问题,因为登录机制和语言取决于用户的选择。

我阅读了此文档并使用以下链接。但它不起作用。我不知道可能是我误解了什么。

[my_site]?target_link_uri=[my_site/mypage.html]&iss=[my_provider]&auth_request_params=[urlencoded-query-string]

那是错的吗?如何传递动态acr_valuesui_locales以便 apache 使用这些查询参数生成身份验证请求

0 投票
1 回答
524 浏览

mod-auth-openidc - 带有 mod_auth_openidc 的基本风格的身份验证

有没有办法将 mod_auth_openidc 配置为类似于基本身份验证,而不是重定向到身份验证提供程序(在我的情况下为 Okta)进行登录?

我正在反向代理上设置 mod_auth_openidc,但我正在保护无法处理比基本身份验证更复杂的服务访问的 API。

0 投票
1 回答
2708 浏览

apache - 具有 mod_auth_openidc 和 Azure AD 的 Apache 无法正常工作

我正在 Apache 后面设置一个旧的 Web 应用程序。

我想只允许经过身份验证的用户访问它,我们使用的是 Office 365,并且我们有 Azure AD 帐户。

我们已经决定 mod_auth_openidc 可能是一个可能的解决方案,但由于某种原因它不起作用(还;))

我从URLhttps://my.nice.server/secure/redirect_uri ”上的模块收到以下错误:

错误:

这是我的阿帕奇

配置:

我试图查看 mod_auth_openidc 的来源,但我无法理清...

有任何想法吗?

0 投票
0 回答
1837 浏览

apache - 使用 Keycloak 将 Apache mod_auth_openidc 设置为资源服务器

我想设置一个非常简单的系统,通过 Apache2 及其mod_auth_openidc模块授予对静态目录的授权访问,使用 Keycloak 作为 OAuth(OpenID Connect)服务器。在浏览了我能找到的所有文档和文章之后,我得到了以下配置。

关于我的设置的更多事实:

  • 我在同一台机器上运行 Keycloak 服务器,使用 Apache 作为它的反向代理。您也可以从上面的配置文件中看到这一点。

  • 另外,我想提供简单的纯静态文件,我没有任何可以处理 OAuth 流的客户端应用程序。所以我希望 OAuth 客户端流程仅由 mod_auth_openidc 处理。如果未经授权的用户尝试访问,它应该重定向到登录页面,然后在正确登录(通过 Keycloak OAuth 服务器进行身份验证)时,它应该授予访问权限。

现在我的问题是

  1. 我需要设置OIDCRedirectURI指令吗?如果我这样做,它的价值应该是什么?

  2. 什么应该是我的要求的整体设置。我觉得我没有朝着正确的方向前进,所以非常感谢任何帮助。

0 投票
2 回答
1837 浏览

apache - 如何在 apache 上检索模块的版本

我们在apache web 服务器httpd上的 docker 容器中运行。是否有命令或脚本或任何方法可以直接检索那里使用的版本。模块名称是.auth_openidc_modulemod_auth_openidc.so

在这里的任何帮助都将一如既往地受到赞赏。

0 投票
2 回答
800 浏览

java - 带有 mod_auth_openidc、检索代码和 id_token 的 Keycloak

我正在尝试使用 mod_auth_openidc 配置 Keycloak。我正在使用 Apache 2.4 和简单的 Java servlets/html 页面。我有 Keycloak 对用户进行身份验证并重定向到受保护的资源。现在,我想访问用户个人资料。我假设我必须从 URL 查询字符串中提取“代码”,然后通过调用其中一个 Keycloak API 将其交换为 id_token。那是对的吗?我不知道如何获得这个“代码”。我在 URL 中看到了命中我的 OIDCRedirectURI 的代码。但我不知道如何做到这一点。如果我的 OIDCRedirectURI 是一个 servlet,即使我看到重定向到 servlet,doGet 方法也没有被命中,因此我无法访问请求并访问查询参数。我相信我做错了什么。您能帮我弄清楚如何获取代码并最终获取 id_token 吗?谢谢!

0 投票
1 回答
172 浏览

apache-camel - 如何授权用户使用我的休息服务 - Camel CXF

我有一个 httpd 前端服务器,它将使用 openidc 对用户进行身份验证,如果身份验证成功,则将 JWT 与传入请求相关联。发布此请求将到达所需的 REST 服务,该服务是使用 Apache Camel CXF 定义的。

现在我需要根据某些权限拒绝/允许此用户使用所请求的服务。我怎么做 ?

0 投票
0 回答
115 浏览

javascript - Keycloak - Tomcat 适配器 vs mod_auth_openidc,有哪些用例

我正在尝试决定与 Keycloak、Tomcat 适配器或 mod_auth_openidc 一起使用什么。我有一个适用于这两种情况的简单示例,但我想知道每种工具的用例是什么。我的应用程序有一个运行在 Apache 上的 java 脚本前端(一个使用 EXTJS 构建的单页应用程序)和一个运行在 Tomcat 上的 Java REST Web 服务后端。我相信使用 mod_auth_openidc 会在前端 java 脚本执行之前更早地拦截请求。Tomcat 适配器将在 java 脚本应用程序发出后端请求后拦截它们。
在选择一种工具而不是另一种工具时,最重要的考虑因素是什么?

0 投票
1 回答
1483 浏览

mod-auth-openidc - mod_auth_openidc 将声明作为公共位置的 http 标头(全部授予)

我在 apache 2.4 服务器上配置了 mod_auth_openidc。对于受保护的位置,一切正常。对于这些资源,后端应用程序(PHP 脚本或反向代理应用程序)将声明作为 HTTP 标头 OIDC_xxx 接收。

在这个网络服务器上,我也有公共位置。不过,如果经过身份验证的用户点击了这些资源中的一个,我也希望收到 OIDC 标头。

我的 httpd 配置看起来像

私有位置受到 oidc 提供程序的良好保护,并且填充了 HTTP 标头。未经身份验证的用户可以访问公共位置(需要全部授权);但是有一种方法可以配置 httpd 和 mod_auth_openidc 来填充经过身份验证的用户访问公共位置的标头。上面的配置在任何情况下都不会这样做(没有 OIDC_ 标头)。

谢谢。