mmoayyed on master
improve delegation test case to… correct type conversion rule fo… doc updates and 2 more (compare)
mmoayyed on master
add test case for delegation se… add test case for delegation se… support jwks to be encryptable … and 5 more (compare)
mmoayyed on master
test cases for QR authentication allow throttle store to remove minor test improvements and 21 more (compare)
mmoayyed on master
support ldap throttling support expiration window for l… upgrade dependencies (compare)
mmoayyed on 6.5.x
Handle multi use token for rese… (compare)
mmoayyed on master
fix build failures fix tests (compare)
mmoayyed on master
Handle multi use token for rese… (compare)
Hey! Nobody noticed that the last version of CAS client for Java, its build for Java 8, but have a dependency to JAXB 2.3.1 that its for Java 9 ?
Also, the READMED should clarify what version of Java it's being supported.
Anyone could annotate this on the issues system that you are using ? I would liked to do this, but I don't see that I could done on GitHub repo, and I don't see a Jira o r Mantis to do it.
attributeReleasePolicy: !<org.apereo.cas.services.ReturnMappedAttributeReleasePolicy>
allowedAttributes: !<java.util.TreeMap>
mail: !<java.util.ArrayList>
- "mail"
principalAttributesRepository: !<org.apereo.cas.authentication.principal.DefaultPrincipalAttributesRepository>
attributeRepositoryIds: !<java.util.HashSet>
- "*"
consentPolicy: !<org.apereo.cas.services.consent.DefaultRegisteredServiceConsentPolicy>
status: "FALSE"
excludeDefaultAttributes: true
authorizedToReleaseAuthenticationAttributes: false
For 6.4x -> 6.5-SNAPSHOT we're trying to identify the following issue:
2022-02-03 12:19:54,805 -0700 WARN [io.netty.bootstrap.Bootstrap] - <Failed to set channel option 'CONNECT_TIMEOUT_MILLIS' with value '5000' for channel '[id: 0xf39d1e89]'>
This appears to break LDAP connection for the service registry.
We've also seen a few parameters change formatting in docs, but don't necessarily error/warn in the container, so it seems confusing to debug at the moment.
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of typejava.lang.String
from Array value (tokenJsonToken.START_ARRAY
)
at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: org.apereo.cas.support.oauth.services.OAuthRegisteredService["supportedGrantTypes"]->java.util.HashSet[1])
hello i am using /cas/v1/tickets rest api when integating qr login, but when i curl this api like this: “curl -X POST -k -d 'username=user1@test.com&password=testpass&token=true&additionalParam1=paramvalue' "https://localhost:8442/cas/v1/tickets”
I got this error:
"Service is not found in service registry."
solved, appending a service param can solve this.
cas.authn.authentication-attribute-release.enabled=false
I want to define a register using overlay, I put a controller directly into the src/main/java directory
@RestController
public class RegisterController {
@RequestMapping("/register")
public String register(String userName,String password) {
return "register success " + userName;
}
}
2022-02-18 10:35:33,281 ERROR [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/cas].[dispatcherServlet]] - <Servlet.service() for servlet [dispatcherServlet] in context with path [/cas] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed] with root cause>
java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed
at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:488) ~[tomcat-embed-core-9.0.58.jar!/:9.0.58]
(...)
at org.apereo.cas.web.support.AuthenticationCredentialsThreadLocalBinderClearingFilter.doFilter(AuthenticationCredentialsThreadLocalBinderClearingFilter.java:28) ~[cas-server-core-web-api-6.5.0.jar!/:6.5.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.58.jar!/:9.0.58]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.58.jar!/:9.0.58]
at org.apereo.cas.web.support.filters.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:401) ~[cas-server-core-web-api-6.5.0.jar!/:6.5.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.58.jar!/:9.0.58]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.58.jar!/:9.0.58]
at org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:200) ~[cas-server-core-web-api-6.5.0.jar!/:6.5.0]
(...)
Hello there,
We are trying to enable FIDO2 WebAuthN support in CAS with both Yubikeys and using the built-in browser support for FIDO2, namely for Safari on Mac OS.
While Yubikey registration and authentication works fine out of the box, when trying to register a FIDO2 device using the native Safari support for FIDO2 (without a Yubikey), we are presented with the following error on the registration step :
"java.lang.IllegalArgumentException: Failed to obtain attestation trust anchors."
Any ideas why this is happening and maybe how we can configure our own attestation trust anchors to include other sources than Yubikeys ?
cas.authn.mfa.web-authn.redis.host=172.24.200.126
cas.authn.mfa.web-authn.redis.port=6379
cas.authn.mfa.web-authn.redis.password=xxxxx
cas.authn.mfa.web-authn.redis.enabled=true
cas.authn.mfa.web-authn.redis.database=6
cas.authn.mfa.web-authn.core.enabled=true
cas.authn.mfa.web-authn.core.display-name-attribute=sAMAccountName
#cas.authn.mfa.web-authn.core.relying-party-name=CAS WebAuthn
cas.authn.mfa.web-authn.core.allow-primary-authentication=false
cas.authn.mfa.web-authn.core.allow-unrequested-extensions=false
cas.authn.mfa.web-authn.core.allow-untrusted-attestation=true
cas.authn.mfa.web-authn.core.validate-signature-counter=true
cas.authn.mfa.web-authn.core.trusted-device-enabled=false
#cas.authn.mfa.web-authn.core.relying-party-id=xxxx
cas.authn.mfa.web-authn.crypto.enabled=true
cas.authn.mfa.web-authn.crypto.signing.key=********
cas.authn.mfa.web-authn.crypto.encryption.key=***********
cas.authn.mfa.web-authn.redis.read-from=MASTER
Hello and I'm really glad there is a CAS chat where I can ask questions!
I was hired for my position 6 months ago at a small Community College, and the college does not have Single Sign On.
Administration purchased a product that requires SSO, and tossed it in my lap. In my investigations it turns out that SSO will cost us 50,000 (2.00 a month/user minimum) a year or more if we go with a third party.
So after much research we decided to go with CAS 6.5.x. The learning curve has been very steep as I knew nothing about SSO originally.
We decided to use GSuite as our IDP since we are using Gmail for Education as our email.
I was able to setup CAS to Delegate Authentication to Gmail and the product was set to use CAS for SSO so it worked perfectly. I'm really pleased with CAS and the documentation provided for getting this all set up.
Now for my problem :(
We have another application (Ellucian Self-Service) that students log into and we want to add SSO to this app. However, this application uses SAML2 only.
I'm having problems finding how to configure CAS to return SAML2 to this application.
I've added the
implementation "org.apereo.cas:cas-server-support-saml-sp-integrations:${project.'cas.version'}"
to build.gradle as Ellucian is one of the supported SPs. But I'm not sure what needs to be done to the registered service to get CAS to respond properly.
Hi, I was wondering if I'm miss-understanding the expected behavior of usernameAttributeProvider
or if it's a bug (and if there is an alternate solution).
I have the following service:
{
"@class": "org.apereo.cas.support.oauth.services.OAuthRegisteredService",
...
"usernameAttributeProvider": {
"@class": "org.apereo.cas.services.PrincipalAttributeRegisteredServiceUsernameProvider",
"usernameAttribute": "uidNumber",
"canonicalizationMode": "NONE"
},
...
}
The goal is to provide to this service another identifier than the one used for other services (default identifier for other services is uid
).
N.B.: both (uid
and uidNumber
) come from LDAP.
This works well (I can connect to the service), but I detected an unexpected behavior.
When a user connects to the above-mentioned service, in CAS logs, the WHO:
is the uid
for every ACTION
except for SERVICE_TICKET_VALIDATED
for which it is the uidNumber
.
After connecting to the above-mentioned service (and only after connecting to this specific service), if the user accesses an OidcRegisteredService
service, the sub
in the OIDC response is the uidNumber
whereas it is expecting to receive the uid
(which makes it fail to authenticate the user). The OidcRegisteredService` service configuration doesn't provide any specific config for the usernameAttribute:
{
"@class": "org.apereo.cas.services.OidcRegisteredService",
"serviceId": "...",
"name": "...",
"id": ...,
"clientId": "...",
"clientSecret": "...",
"bypassApprovalPrompt": true,
"scopes": ["java.util.HashSet", ["openid", "profile", "email", "offline_access"]]
}
That means that depending on whether the user connected to the first described OAuthRegisteredService
or not, he can connect to the OidcRegisteredService
service or not.
Note that it doesn't affect other RegexRegisteredService
services or a SamlRegisteredService
that specifies its own usernameAttributeProvider
Am I missing something? Should I force the usernameAttributeProvider
in the OidcRegisteredService
? Why?
Hi, I'm trying to get started with CAS 6.4 (previous user of 5.3) . I have this in /etc/cas/config/cas.properties
server.port=8080
server.ssl.enabled=false
cas.server.tomcat.http.enabled=false
cas.server.tomcat.http-proxy.enabled=true
cas.server.tomcat.http-proxy.secure=true
cas.server.tomcat.http-proxy.scheme=https
Trying to run standalone executable but ultimately it crashes on this message The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid.
I'm not sure where to set secretRequired=false
This will be running behind HAProxy
Hi! Trying to use „cas-server-support-jpa-service-registry” module, I'm getting this error:
Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: JPA metamodel must not be empty!
The properties that I'm using are:
cas.service-registry.initFromJson=true
cas.service-registry.json.location=file:///etc/cas/config/services
cas.jdbc.showSql=true
cas.service-registry.jpa.url=jdbc:sqlserver://...
cas.service-registry.jpa.user=...
cas.service-registry.jpa.password=...
cas.service-registry.jpa.default-schema=...
cas.service-registry.jpa.dialect=org.hibernate.dialect.SQLServer2008Dialect
cas.service-registry.jpa.driver-class=com.microsoft.sqlserver.jdbc.SQLServerDriver
cas.service-registry.jpa.ddl-auto=create
Am I missing something in this configuration? Thank you!