问题标签 [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 投票
1 回答
455 浏览

angular - 重定向到 Keycloak 时来自 Angular 的 CORS 错误

我在 Apache 端部署了一个 SPA 应用程序作为静态文件。
我使用 apache 模块 mod_auth_openidc 作为 RP 对用户进行身份验证。
我使用 Spring Boot 作为后端 API。我使用 Keycloak 作为 IDP。
在第一次身份验证期间,正确完成了对 Keycloak 的重定向,并且从 SPA 到 Java 后端的 API 调用工作正常。但是,会话到期后,当用户单击 SPA 中的链接时,他会自动重定向到 IDP(通过 HTTP 302 代码)。但这一次浏览器引发了 CORS 错误。因为 MIME 类型不正确。

这是 Apache 端使用的配置。

这是 Keycloak 配置:
有效的重定向 URIs = 'https://myapp-host/*'
Web Origins = '+'

您知道错误的原因吗?这是 Chrome 控制台中的错误:

拒绝执行来自 'https://keycloak-host/auth/realms/intradef/protocol/openid-connect/auth?response_type=code&scope=openid&client_id=mayapp&state=cdPzfatA1au8hWag3puQWeYXzlc&redirect_uri=https%3A%2F%2F10.29.150.131% 的脚本2Fmyapp%2Faccueil&nonce=MxMAAJWaVX0dCcHgHSp94S24_JTDJA6D8D4i6UloCx8' 因为它的 MIME 类型 ('text/html') 不可执行,并且启用了严格的 MIME 类型检查。

0 投票
1 回答
90 浏览

apache - 从 Windows 上的 Apache Web 服务器连接到 Azure AD

我正在尝试使用 Azure AD 对部署在 Windows 服务器上的 Apache Web 服务器中的网站进行身份验证。我们正在寻找的一个可能的解决方案是 mod_auth_openidc,但是它不适用于 Windows。

是否有任何其他选项可用于在 Windows 服务器上对 apache 中的网站进行身份验证?

0 投票
1 回答
343 浏览

apache - 如何在 RHEL 7 上安装 mod_auth_openidc

我去过mod_auth_openidc 的 Releases 站点并关闭了 rpm。并且尝试安装需要 cjose 但尝试查找和安装会带来问题,因为它似乎错误地测试了 jansson 的版本(例如,2.10 低于 2.3)。我发现的大多数文档都是多年前的。尝试使用 yum 会引入一个非常过时的 mod_auth_openidc (1.8.8) 版本,如果您有 OIDCDirectURL 编码,则无法加载 apache httpd。

我正在尝试将 Apache HTTPD 配置为调用我创建的 OAUTH2 服务器,但我无法让旧 mod 工作,我很想知道我可以从哪里获得零件以允许最新版本安装。如果您返回到 2.0,则发布站点上有一些旧的下载,但 libcjose0 不是 rpm。

我是否需要从他们的 github 中检索依赖项并构建它们?如果有人已经这样做并发布了资产,我很乐意找回它们。我很惊讶 RHEL 7 存储库没有最新(或更新)版本的 mod_auth_openidc。

0 投票
1 回答
33 浏览

oauth-2.0 - 初始化Open IDC auth dance时存储GET请求参数以供以后使用

我们正在将 Keycloak 实现为 IDP,并将使用它来保护某些应用程序(依赖方)

这些应用程序可能会使用 mod_auth_openidc 之类的东西,它将使用授权码流将用户引导到用户将登录的 keycloak,进行 openidc 舞蹈,并最终返回“redirect_uri”。

我们将使用一组参数调用应用程序,例如:https://some-application/launch?person=12345

redirect_uri 将是 https://some-application/launch,据我了解,Oauth2 规范非常具体,redirect_uri 应该是静态的,并且不包含参数/是动态的。

所以这意味着登录后请求参数“person = 12345”丢失,因为用户只是被重定向回“https://some-application/launch”

在 OIDC 舞蹈发生之前保持这个“person=12345”请求参数的推荐模式/方法是什么?

我已经阅读了有关“状态”参数的信息,但我不清楚我们将如何使用 mod_auth_openidc 将任何内容注入其中,或者我们如何从中读取任何值?它是否更像是一个应用程序框架问题 - 某种控制器/服务器端代码(PHP/c# 等)会以某种方式将这些值存储在会话中(但我不清楚他们是否有机会在 mod_auth_openidc 启动之前存储这些值?

0 投票
1 回答
30 浏览

apache - 我们可以为 Mod_auth_openidc 使用多个应用程序,这样我们就可以在一个 apache 中使用不同的客户端 ID

我正在使用 okta 集成开发 Mod_auth_openidc,我们需要在与来自 okta 的 OIDC 应用程序链接的 apache 配置中提供 OIDCClientID、OIDCClientSecret,但我想使用多个应用程序,即多个客户端 ID。

有什么建议么?

0 投票
0 回答
8 浏览

apache - 需要从 OIDC_CLAIM_user_attribute 中提取 uid。以下是 Apache 日志。有什么建议么?我需要在 mod_auth_oidc.conf 文件中使用它

oidc_util_hdr_table_set: OIDC_CLAIM_user_attributes: {"partnerAgency": ["CS"], "manager_uid": ["mjuel"], "piv_upn": ["0165867745@sample.com"],["pivUPN=082326@sample.com,ou =people,ou=csinternal,ou=csenterprise,dc=cs,dc=ds,dc=com"], "csSite": ["HQC"],"last_name": ["Doe"], "display_name": [ "John Doe"], "title": ["Systems Developer"], "csRegion": ["NCR"], "uid": ["jdoe"], "cs_uuid": ["2ab-029c-4959-a500 -c5dfsdf5173a"], "first_name": ["John"], "email": ["johndoe@sample.com"]}, 推荐人: https://login-prestage.sample.com/

0 投票
0 回答
14 浏览

mod-auth-openidc - 配置 mod_auth_openidc 以从 ForgeRock 注销

我正在尝试通过 mod_auth_openidc 重定向 URI 从 ForgeRock OP 中实现注销。

mod_auth_openidc 指令说将用户代理发送到/<redirect uri>?logout=<logout page uri>.

当我这样做时,用户代理会被转发到https://<end session endpoint URL>?id_token_hint=<id_token>&post_logout_redirect_uri=<post_logout_redirect_uri>.

不幸的是,ForgeRock 文档说我需要一个 client_id 参数https://<end session endpoint URL>?id_token_hint=<id_token>&post_logout_redirect_uri=<post_logout_redirect_uri>&client_id=<client_id>,而且我还需要在请求标头中发送 token_id Authorization: Bearer <token_id>

在这一点上,我已经建立了足够的代码基础设施,我自己可以很容易地做到这一点,但我更喜欢只使用配置(如果存在)的解决方案。