我对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页面,但说“授权拒绝”。我没有被重定向到认证页面或类似的东西:
我在网上找不到这方面的资料。
1条答案
按热度按时间11dmarpk1#
你不会在网上找到关于这个问题的任何东西。诊断此问题所需的一切都在您的cas服务器日志中。CAS服务器日志是确定问题根源的最佳资源,前提是您已配置了适当的日志级别。具体来说,您需要确保在log4j配置中的org.apereo包上打开了DEBUG级别。
如果您选择的服务器容器是Apache Tomcat,您可能还需要查看 Catalina .out和localhost-X-Y-Z.log日志文件,以了解有关问题来源的更多信息。