jenkins CAS 6.6.8 -连接OIDC应用程序

wyyhbhjk  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(162)

我对CAS(6.6.8)还很陌生,我正在尝试使用OIDC将一个测试应用程序连接到我的CAS服务器。我已经习惯了Okta,Auth0等,所以OIDC对我来说并不陌生,只是CAS配置。
我的Cas还连接到一个AD以登录。
这是我使用OIDC模块(org.apereo.cas:cas-server-support-oidc)的Cas服务器配置:

# Server
server.port=443

# SSL
server.ssl.enabled=true
server.ssl.key-store=file:{path}
server.ssl.key-store-password=xxx
server.ssl.key-password=xxx

# CAS
cas.server.name=https://URL:443
cas.server.prefix=${cas.server.name}/cas
cas.logout.followServiceRedirects=true
cas.authn.accept.enabled=false

# Active Directory
cas.authn.ldap[0].type=AUTHENTICATED
cas.authn.ldap[0].ldapUrl=ldap://localhost:389
cas.authn.ldap[0].useStartTls=false
cas.authn.ldap[0].baseDn=DC=AAA,DC=BBB
cas.authn.ldap[0].search-filter=(sAMAccountName={user})
cas.authn.ldap[0].subtreeSearch=true
cas.authn.ldap[0].bindDn=USER
cas.authn.ldap[0].bindCredential=XXX

# OIDC settings
cas.authn.oidc.core.issuer=https://URL/cas/oidc
cas.authn.oidc.core.skew=5
cas.authn.oidc.jwks.file-system.jwks-file=file:C:\Program Files\Tomcat 9.0\etc\cas\config\keystore.jwks

# Encryption/Signing keys
cas.tgc.crypto.encryption.key=SN7Vpa8oHvXfh2hDZp8ANxZGRkF1DvKbYLTy_Vip2dI
cas.tgc.crypto.signing.key=KwbtZl2y5sidXFMShjVm4PiGwjVQ0Fq-ZBp0A_HUK6IOnoS2h0E5cSfp7vy8uioqX04yKIBXcU0kUm6DRuPCZQ
cas.webflow.crypto.signing.key=MltIqyj_vGFgZKFfw8vmoqYIYYu_KEU20AyZaAIDZl_Xjhl0ZGpPNe4h4N7-8p1_pNi-s97TQKb1-INp9VEwEA
cas.webflow.crypto.encryption.key=3Mh_pdDFLPCMgacDL6z8SQ

这是我的/etc/config/services文件:

{
  "@class": "org.apereo.cas.services.OidcRegisteredService",
  "serviceId": "https://localhost:3000/callback", --> my app URL
  "name": "OIDC",
  "id": 1,
  "clientId": "41ff9715-bd3e-473c-9888-e2d5a1364c2a",
  "clientSecret": "SECRET",
  "bypassApprovalPrompt": true,
  "generateRefreshToken": true,
  "evaluationOrder": 10000
}

这是我的测试应用程序配置(Node.js应用程序):

{
  "domain": "URL/cas/oidc",
  "clientId": "41ff9715-bd3e-473c-9888-e2d5a1364c2a",
}

此应用程序用于其他IdP,因此不会来自此应用程序。当点击登录时,这是我被重定向到的/authorize URL:

https://URL/cas/oidc/authorize?client_id=41ff9715-bd3e-473c-9888-e2d5a1364c2a&acr=http%3A%2F%2Fschemas.openid.net%2Fpape%2Fpolicies%2F2007%2F06%2Fmulti-factor&scope=openid%20profile%20email%20read%3Aall&response_type=code&response_mode=query&state=dGEwS21Ddm52WUNXc254c2ptRmNzQjBOZGNTSGlPZzZ1R1AxVldOTl9lMA%3D%3D&nonce=RUIzY1hEbWJmWDZJYjNWOWh3QVJZcjBBdVNDOGt0RVdjYVl6WEZ1R0tXYQ%3D%3D&redirect_uri=http%3A%2F%2Flocalhost%3A3000&code_challenge=2Mln96FLN8s0qylEMY9yuC7ucbKioF9cGMIYG5B4q8s&code_challenge_method=S256&auth0Client=eyJuYW1lIjoiYXV0aDAtc3BhLWpzIiwidmVyc2lvbiI6IjEuMTkuNCJ9

我没有隐藏所有设置,因为这是一个测试环境。
问题是,我被重定向到一个CAS页面,但说“授权拒绝”。我没有被重定向到认证页面或类似的东西:

我在网上找不到这方面的资料。

11dmarpk

11dmarpk1#

你不会在网上找到关于这个问题的任何东西。诊断此问题所需的一切都在您的cas服务器日志中。CAS服务器日志是确定问题根源的最佳资源,前提是您已配置了适当的日志级别。具体来说,您需要确保在log4j配置中的org.apereo包上打开了DEBUG级别。
如果您选择的服务器容器是Apache Tomcat,您可能还需要查看 Catalina .out和localhost-X-Y-Z.log日志文件,以了解有关问题来源的更多信息。

相关问题