问题标签 [apereo]

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 回答
74 浏览

java - 使不同的登录选项在 Apereo CAS 中同时工作

我已经在服务器上安装了 Apereo CAS 并同时启用了普通登录表单和 QR 身份验证,现在我想将无密码登录添加到其他两个作为用户登录时使用的第三个选项,但 CAS 登录页面只显示无密码登录。

有没有办法同时设置所有三个并让用户决定使用哪一个?

我尝试编辑模板文件以一次显示所有选项,但似乎只有无密码登录有效。

0 投票
1 回答
202 浏览

cas - CAS 重定向过多和 500 内部服务器错误

我正在使用由 CAS Overlay 项目生成的 Apereo CAS 6.3.3。与应用程序和 LDAP 的集成运行良好,但我注意到了两个问题。这些问题是随机的,仅发生在 20% 的请求中。

1.) 如果有人使用 ?execution=anything 直接访问 CAS 登录页面,该页面会显示以下 HTTP 500 错误。org.springframework.webflow.execution.repository.BadlyFormattedFlowExecutionKeyException:格式错误的流执行键'anything',预期格式为'_'

无论如何可以禁用错误,而是将页面重定向到应用程序登录页面。

2.) 是否可以为过期的服务票禁用太多重定向错误,以便最终用户被重定向到登录页面,而不是首先在浏览器上看到错误消息?

谢谢。

0 投票
0 回答
16 浏览

java - 打开 Equella 脚本编码

我正在使用 open Equella 作为我的文件的数字存储库。使用高级脚本功能从外部 URL 获取元数据,然后填充所需的模板。用于此的函数是utils.getConnection()然后我使用conn.getResponse(true)来获取数据并填充 XML。除了非英语数据(例如阿拉伯语)之外,一切都工作正常,它的数据显示为编码字符。我确认 API(外部 URL)正在返回正确的文本。

示例代码

我得到的输出类似于:

برامج تنمية Ù...هارات التÙ�كير 一些英文文本

0 投票
1 回答
42 浏览

java - 使用 REST api 的 Apereo CAS 代理身份验证

我已成功使用 Apereo 6.0.7 通过 Web 登录和 JWT 对我的用户进行身份验证。我还实现了委托身份验证来模拟具有管理员配置文件的给定常规用户。
现在我想通过 Apereo REST API 执行相同的过程。我已成功配置这些 API 以使用用户名和密码对用户进行身份验证。例如(通过 curl):

但是我还不能执行代理登录。使用配置的分隔符提供用户名和代理不起作用。例如,使用 / 作为分隔符(编码为 %2F):

返回 401。任何人都可以帮我找出丢失的东西吗?谢谢你。

0 投票
0 回答
40 浏览

php - 为什么 phpCAS 客户端在 XML 响应中获取标签?

我有一个基本的 CAS 6.4.2 服务器在https://mycas. 我还有一个基本的 php 客户端,我正在尝试使用 CAS 3 连接到它。这个 php 应用程序使用 phpCAS 官方客户端 ( https://github.com/apereo/phpCAS ),版本 1.4.0。

我可以使用这个 Apereo CAS 实例来保护与其他 NodeJS 应用程序的连接,但是当我尝试连接到 php 应用程序时,它在尝试验证服务票证时失败。

错误信息是:

从那个错误和之前的警告中,我了解到问题出在</head>标签上,它将 xml 变成了不正确的响应。对我来说奇怪的是,当我访问由同一个 Apereo CAS 实例(也使用 CAS 协议的第 3 版)验证的 NodeJS 应用程序时,似乎没有出现这个结束标记。

我试过的

  • 将 CAS 协议版本从 3 更改为 2
  • 使用旧版本的 phpClient(特别是 1.3.5 和 1.3.8)
  • 修改 Apereo CAS 应该发送到 php 应用程序的属性(通过服务注册表中使用的 JSON)
  • 使用旧版本的 Apereo CAS (5.2.x)。-> 这个实际上似乎有效,但我找不到原因。并且使用旧版本的 Apereo CAS 不是一种选择

那我问什么

如何解决我的 phpCAS 客户端收到该</head>标签的问题?是关于我如何配置 Apereo CAS 服务器或 phpCAS 客户端的问题吗?或者是其他东西?

任何帮助,将不胜感激,

0 投票
0 回答
46 浏览

cas - NGINX 的 CAS Oauth2.0 代理

有一个项目: https ://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider#adding-a-new-provider

这个项目允许我们保护“安全”路径后面的资源,但我不能将我的 CAS 服务器用作 Oauth2 服务器:https ://apereo.github.io/cas/6.4.x/authentication/OAuth-Authentication.html

拥有这个而不是从头开始写一个会很棒。有没有人为 oauth2-proxy 开发了一个新的提供者?

0 投票
1 回答
20 浏览

authentication - Apereo CAS 与其他 idp 平台集成

我们正在尝试将 apereo CAS 与其他身份验证平台集成,该其他平台使用 SAML2 作为协议并有自己的身份验证方式(不能使用 SAML2 身份验证将 apereo CAS 与其他平台集成)。

我们找不到这样做的方法,我们正在尝试的想法是通过 CAS 将用户重定向到这个其他平台网站入口点,并通过 CAS 端点重新收集响应。

在 Apereo CAS 中可以创建自定义端点吗?,似乎无法发布。

最终流程图如下:

  1. 用户登录到应用 A 并被重定向到 CAS
  2. 用户选择“使用其他平台登录”并被重定向到外部平台
  3. 用户在本平台登录,回调响应重定向到 CAS
  4. CAS 验证身份验证响应并重定向到应用程序

我们正在尝试创建一个外部平台将在执行身份验证后重定向的 CAS 自定义端点。

0 投票
0 回答
15 浏览

authentication - 在 Apereo CAS 5.3.16 中同时使用 JDBC 和 SAML2 IdP

我正在尝试将 Apereo CAS 5.3.16 设置为使用 SAML2 IdP 和 JDBC (PostreSQL) 数据库 IdP。我们需要 CAS 尝试首先针对 SAML IdP 进行身份验证,然后,如果失败,则针对 JDBC IdP。

不幸的是,在过去的周末,v 5.3.16 的文档已从 Apereo 网站上删除,所以现在我正在使用代码库中的降价源文档。我已经广泛查阅了手册并阅读了这些帖子 - https://fawnoos.com/2017/03/22/cas51-delauthn-tutorial/CAS 将身份验证委托给 Azure SAML - 并且无法让应用程序执行我们的操作需要。

CAS 创建其 SAML 元数据、密钥并从 SAML IdP (Okta) 获取元数据。

日志显示以下条目:

这对我来说是正确的,除了我希望 pac4j 处理程序在 JDBC 处理程序之前执行。我不知道它是什么HttpBasedServiceCredentialsAuthenticationHandler,但它是其源代码中 CAS 核心的一部分,所以我认为它应该在那里。

身份验证请求首先发送到 JDBC 处理程序,如果失败,则不会发送到 SAML 处理程序。认证请求立即被拒绝。

这是我们的属性文件(standalone.properties)的(相关部分)。

某个善良的灵魂可以告诉我我错过了什么或做错了什么吗?

背景:

我们的组织计划分阶段淘汰 Okta 的 CAS。第一阶段是使用 Okta 作为 CAS 的 IdP,替换定制的 Azure AD/MSAL 模块。鉴于我们的 CAS 即将退役,我们并不热衷于升级到 CAS 6。该组织的 CAS 专家已经离开,并且交给了我,因为我是一名 Java 程序员,而 CAS 是用 Java 编写的。所以至少我可以调试它。毫无疑问,我不是 CAS 专家,而且我发现该手册含糊不清、不完整且缺乏具体示例。