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

single-sign-on - Apereo CAS分两步加载用户属性并存储起来进行属性发布

在我们的 Apereo CAS 5.3.8 保护应用程序中,我们需要在登录后显示一个屏幕,该屏幕显示一个下拉菜单,其中包含一些用户必须从中选择一个选项的值。仅在满足某些条件时才需要显示屏幕,具体取决于某些用户属性。在某些情况下,我们需要的所有属性都在登录后加载,但在其他情况下,我们需要根据用户的选择加载其他属性。然后必须将用户选择转换为我们希望存储在 CAS 断言中的其他一些用户属性,以便客户端应用程序可以访问用户属性并根据这些属性做出决策。

为了显示这个额外的屏幕,我们创建了一个自定义的多因素提供程序。加载的属性被传递给一个PrincipalFactory实现。

除了用户下拉选择之后发生的部分之外,几乎所有东西都可以正常工作。问题是如何分两步加载主要属性?我尝试更新自定义操作中的principalandauthentication对象,该操作在用户选择后触发,但它不起作用,它始终保留旧主体,并在登录后立即加载属性。

我认为问题可能是由于属性被传递给 aPrincipalFactory并且可能它们只被写入一次并且变得不可变。我尝试使用 aAuthenticationTransactionManager和 aAuthenticationResultBuilder但无法添加额外的计算属性。

任何指导将不胜感激。

0 投票
0 回答
1061 浏览

json - 无法使用 pac4j 让通用 OAuth2 客户端与 CAS 服务器一起工作

我正在使用 CAS 服务器中的委托身份验证将登录与 Instagram 集成。我已经在 cas.properties 文件中配置了所有必需的属性,并为它创建了一个服务注册 JSON 文件。当我登录 Instagram 帐户时,我被重定向回 CAS 登录页面,但没有任何反应。

我尝试使用服务注册表 JSON 文件以及 cas.properties 中的不同属性进行试验

cas.properties 文件包含以下内容

服务 JSON 文件如下:

我无法达到 CAS 能够获取访问令牌并使用配置文件 URL 获取用户详细信息的地步。

相反,我收到以下错误:

如果我尝试再次尝试并使用 Instagram 登录 CAS,则会收到不同的错误:

为了能够使用 Instagram 成功将用户登录到 CAS 服务器,我需要做更多或更改什么?

2019 年 8 月 16 日更新

通过修补其中一个模块,我能够让 PAC4J 为 Instagram 工作。我必须手动将访问令牌添加到被调用的最终配置文件 url,并将身份验证方法从 basicAuth 更改为 requestBody。

但是,现在当 Instagram 将我重定向回 CAS 服务器时,在登录后,我应该被重定向到服务 URL。相反,我被重定向到 CAS 登录成功页面,并显示以下消息:

您,tridhya123,已成功登录中央身份验证服务。但是,您看到此页面是因为 CAS 不知道您的目标目的地以及如何到达那里。再次检查身份验证请求,并确保指定了经过 CAS 授权和注册的目标服务/应用程序。

下面是显示从 Instagram 到 CAS 的登录流程的调试日志文件:

https://file.io/ztteR3

0 投票
1 回答
52 浏览

cas - CAS 覆盖:如何减小 WAR 大小

我正在将 CAS 从 3.x 升级到 5.x。CAS Overlay 安装:构建一个大约 120 MB 的 war 文件,大约是 3.x 的 5 倍。

如何从 war 文件中跳过未使用的模块/jar 以减少文件大小和部署时间?我只需要针对数据库和 AD/LDAP 进行身份验证。

0 投票
1 回答
830 浏览

cas - 为什么 CAS 覆盖模板分支 6.x 不支持 maven 作为构建工具?

通过检查项目的结构,我可以看到在分支 5.3.x 之前,maven 和 gradle 都可以作为构建工具使用。

从分支 6.x 开始,情况并非如此。在我的理解中,没有一个pom.xmlwhich 意味着不再支持 maven 作为构建工具。

但是,在官方文档中,例如对于委托身份验证,依赖项也可作为 Maven 工件(Maven 选项卡)使用。

那么到底发生了什么?maven 是否被弃用为覆盖的构建工具?

0 投票
1 回答
311 浏览

kerberos - 带有 SPNEGO 的 CAS 总是回退到 NTLM

我们已经在我们的“内部”网络中使用了 CAS,并且在一个站点中使用了 Kerberos,并且它可以正常工作。

我们现在想要配置我们自己的第二个站点,但配置稍有不同(DNS 名称/SPN)。

我试着解释一下..首先是非工作配置,然后是工作配置,有一些小的变化..

我们尝试使用 SPNEGO 运行 CAS。

我们可以在 中使用kinit(linux 命令)cas.keytab并从 中获取有效的 Kerberos 票证kdc of REALM2.DE,但它不适用于 CAS。CAS 总是回退到 NTLM。我们需要做什么,它会起作用吗?也许他使用了来自 keytab 的错误 SPN 条目?我无法得到它。

  • Ubuntu 16 LTS 和 Ubuntu 18 LTS
  • CAS:5.2.7
  • REALM1 = Windows Active Directory(有用户)
  • REALM2 = MIT Linux Kerberos Realm(有 CAS 服务器)
  • acme.de = 官方 SSL 证书的互联网域
  • REALM1 和 REALM2 之间的 REALM 信任工作。

不工作配置的描述:

SPN 就像HTTP/cas.acme.de@REALM2.DE

/etc/krb5.conf:

cas.properties:

/etc/cas/login.conf:

cas.keytab:



工作配置说明:

只是 SPN 和 Internet DNS 名称已更改

SPN 就像HTTP/cast.realm2.de@REALM2.DE

/etc/krb5.conf:

cas.properties:

/etc/cas/login.conf:

cast.keytab:




我们已经尝试过自己调试,但我们无法得到它..

我们希望有人可以帮助我们解决这个问题。

如果您需要任何进一步的信息,请告诉我们

谢谢!

0 投票
1 回答
849 浏览

single-sign-on - 为 CAS Apereo 版本 cas-overlay-template-6.0 启用 REST 服务

我想为 CAS Apereo 版本 cas-overlay-template-6.0 启用 REST 服务(在 Ubuntu 16.04 上)

我已经完成了以下步骤:

第 1 步:将 REST API 的编译添加到 build.gradle 文件

在此处输入图像描述

第 2 步:清洁构建

在此处输入图像描述

第 3 步:再次构建源代码

但是在第 3 步中,我得到了这样的错误。

在此处输入图像描述 在此处输入图像描述

我哪里出错了?

0 投票
2 回答
1618 浏览

single-sign-on - 设置与 CAS 服务器集成的 Apereo Cas Management

我想安装 Apero Cas Management (6.0 版)并将其与 Cas Server(6.0 版)集成。

我已按照以下步骤安装:

第 1 步:我安装了 Cas Server

我用 REST API 检查了它。有效。

我的服务器停留在http://203.162.141.7:8080

在此处输入图像描述

在此处输入图像描述

这是我的 Cas 服务器的配置。我把这个配置放在/etc/cas/config. 这是我的文件 cas.properties 文件

第 2 步:我安装了 Cas-management-overlay

我把我的 cas-management-overlay 的配置文件/etc/cas/config也放了。这是我的 management.properties 文件

我的这里是users.json文件

然后我跑了./build.sh,它告诉我

在此处输入图像描述

最后,我访问此链接以打开 cas-management http://203.162.141.7:8088/cas-management,但它重定向到此 urlhttp://203.162.141.7:8080/cas/login?service=http%3A%2F%2F203.162.141.7%3A8088%2Fcas-management%2F并在下面显示此错误

在此处输入图像描述

我不知道我哪里出错了。

0 投票
1 回答
1373 浏览

keycloak - CAS 6.1 - Pac4J 的状态参数为空

我已经使用 LDAP/AD 和数据库设置了 CAS,它可以工作。现在我想添加 Keycloak,但我得到了一个关于状态的异常。

为了测试我添加了谷歌,但出现了类似的问题。

我可以在日志中看到 keyloak/google 的成功身份验证,这意味着 keycloak/google 原则上可以工作。问题接缝是,在重定向回 CAS 之后,会话已经结束。上下文中的会话存储是空的。因此,状态为空,无法匹配到 TST。当我withState = false在 pac4j 中设置时,一切正常,但我想使用状态来保证安全。

在pac4j google group 的这个问题中,有人遇到了同样的问题,因为他没有使用标准端口,我也这样做了。但是更改为 80/443 并没有为我解决问题。我在本地主机上使用自签名 ssl 证书在 tomcat 9 中运行。

还有其他建议吗?

编辑
我几乎可以肯定,问题出在外部tomcat上。但到目前为止,我还没有找到关于如何正确设置外部 tomcat 的工作文档。打开以征求建议。

更新
Seams 就像cas-server-support-oauth-webflow破坏了 pac4j webflow。如果我删除此依赖项,它将起作用。不知道这是一个错误还是应该以这种方式工作。如果没有 OAuth-Webflow,我将无法获得 Ldap/数据库的 access_token。

0 投票
1 回答
801 浏览

oauth-2.0 - apereo CAS 服务器中 accessToken url 的错误请求

我想将我的 spring 云网关应用程序与apereo CAS服务器(在 8443 端口上运行)集成,并将服务器配置CASOauth2授权服务器。这是流程;

  • 我请求网关

  • 它与授权服务器交互(CAS此处)

  • 在交互之前,它需要在那里登录。

  • 我使用默认cas-overlay-template凭据成功登录。(casuser:Mellon

  • caslogin/oauth2/code/login-client?code=OC-3-TURQDNdC4jXulPgK7ipJSzfoBLi-iaSv&state=aitARK42e0zx2iTFkeZxoRM2rLehXSex6gTIfZOHlwY%3D使用url重定向到网关。

  • [invalid_grant]网关发生错误。

我检查Spring Cloud Gateway跟踪日志并在获取访问令牌步骤时发生错误。

显然,由于请求错误,它无法access_token请求。但是,我找不到有效的参数是什么。而且,我不手动请求,而是在幕后自动发生。我的错误在哪里?感谢您的帮助。

这是我的spring cloud gateway配置:

cas oauth2注册服务:

我使用的资源:

https://apereo.github.io/2019/02/19/cas61-as-oauth-authz-server/

https://apereo.github.io/cas/5.3.x/installation/OAuth-OpenId-Authentication.html#responsegrant-types

0 投票
1 回答
615 浏览

cas - Apereo CAS中如何通过api取票?

我是CAS的初学者。我想通过 OpenAPI 获取票,我可以提供用户名和密码(可以加密)。但我不知道如何实现?谢谢你的建议!