Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 05:17
    apereocas-bot synchronize #4565
  • 03:47
    apereocas-bot synchronize #4565
  • 02:17
    apereocas-bot synchronize #4565
  • 00:47
    apereocas-bot synchronize #4565
  • Jan 21 23:17
    apereocas-bot synchronize #4565
  • Jan 21 22:21
    codecov[bot] commented #4641
  • Jan 21 21:34
    codecov[bot] commented #4642
  • Jan 21 21:33
    codecov[bot] commented #4642
  • Jan 21 21:33

    apereocas-bot on pip-20.x

    (compare)

  • Jan 21 21:33

    apereocas-bot on master

    renovatebot(deps): update depen… (compare)

  • Jan 21 21:33
    apereocas-bot closed #4642
  • Jan 21 21:22
    codecov[bot] commented #4641
  • Jan 21 21:21
    codecov[bot] commented #4641
  • Jan 21 21:20

    mergify[bot] on master

    renovatebot(deps): update depen… (compare)

  • Jan 21 21:20

    mergify[bot] on org.messaginghub-pooled-jms-1.x

    (compare)

  • Jan 21 21:20
    mergify[bot] closed #4641
  • Jan 21 20:01
    hsartoris-bard synchronize #4565
  • Jan 21 18:39
    apereocas-bot labeled #4642
  • Jan 21 18:39
    apereocas-bot labeled #4642
  • Jan 21 18:38
    apereocas-bot milestoned #4642
Pavlos Drandakis
@pdrados
I will remove every jar that it's not on your list
and see what happens ...
that's the full list of the jars inside my apereo installment.
hope it helps. Don't forget to reboot the webserver after you remove a jar
Pavlos Drandakis
@pdrados
Yes, yes I do reboot :-)
Thank you very much, again!
Enerccio
@Enerccio
I configured cas for mysql and it says ready in the log but I still get 404 on /cas in tomcat
Enerccio
@Enerccio
ok nvm I was accessing wrong tomcat
is there a way to configure service to work for multiple element paths?
right now I get
WHAT: [result=Service Access Granted,service=http://localhost:8082/obsb-ui,principal=SimplePrincipal(id=LegitUser, attributes={role=[uzivatel]}),requiredAttributes={}]
Enerccio
@Enerccio
is there a way to create ticket for http://localhost:8082/obsb-ui/j_spring_cas_security_check but be valid for http://localhost:8082/obsb-ui/ ?
Mikel
@mikelasla

@mmoayyed , have you got any news about PM feature? Is there any 6.x version with this functionallity resolved? thanks in advance

After this commit: apereo/cas@58345b0 password management is not working, any method annotated with @Async and calling to "ClientInfoHolder.getClientInfo()" throws NPE because ClientInfoHolder use ThreadLocal.

@mmoayyed Please check this commit, there are problems with PM and Audit.

Daniel Hong
@doodleincode
I'm trying to get CAS 6.1.2 working with external IdP (Azure AD) via SAML. I have a client app that uses CAS. The client is setup to use CAS as a JWT client. On authn, user is simply redirected to CAS login page. From the CAS login, they have the option to log in using a Microsoft account. When the user first logs in, the RelayState given to Microsoft in the authn flow is the ACS url. When CAS gets the SAML response back, it fails because it is redirect to the ACS url which then presents a "app not authorized" error. However, on every subsequent logins, the authn flow works correctly. When it works the RelayState contains a TST token instead of the ACS url. I'm not sure why this behavior is happening. I posted a more detailed explanation here: https://groups.google.com/a/apereo.org/d/msg/cas-user/BNSXLQEyHT4/lFku9tc_AQAJ
mwolfley
@mwolfley
@doodleincode Your CAS server is an IdP to the App and an SP to a delegated IdP, do you have a service file created for the App?
Daniel Hong
@doodleincode
@mwolfley The app service file contains:
{
  "@class": "org.apereo.cas.services.RegexRegisteredService",
  "serviceId": "https://example.com:8081/app\\?client_name=CasClient",
  "name": "My App",
  "id": 8081,
  "attributeReleasePolicy": {
    "@class": "org.apereo.cas.services.ReturnAllAttributeReleasePolicy"
  },
  "accessStrategy": {
    "@class": "org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy",
    "enabled": true,
    "ssoEnabled": false,
    "delegatedAuthenticationPolicy" : {
      "@class" : "org.apereo.cas.services.DefaultRegisteredServiceDelegatedAuthenticationPolicy",
      "allowedProviders" : [ "java.util.ArrayList", [ "Microsoft Account" ] ]
    }
  }
}
mwolfley
@mwolfley
Sorry, should have looked at your post before responding - I see that now loaded in the logs
mwolfley
@mwolfley
I remember seeing this in CAS 5.2.x, when the response from the delegated IdP returned it was almost as if CAS was attempting to begin a different session from the one initially requested and would have malformed (for service authorization) urls. Your behavior seems correct as far as what the relayState shows at different attempts without trying a new browser session. My solution was goint to CAS 5.3.8 - so not a very good one.
@doodleincode Do you have logging for pac4j
Sorry, enter key got in the way lol, do you have logging for pac4j from the very beginning including the initial request from your app (that wont be pac4j since it's CAS protocol but would be good) all the way to failure?
Daniel Hong
@doodleincode
@mwolfley No worries! I'll post a more thorough log dump from the beginning of the app request which includes pac4j logs
Daniel Hong
@doodleincode
@mwolfley Sorry for the late response on posting the logs. Some of the things have been sanitized, but this is the full log from initial request from the app. From the beginning of the log to about line 328 is where the redirection fails. From about line 329 and onwards is the retry and successful redirection and ultimately authn to the app.
Misagh Moayyed
@mmoayyed
@mikelasla Sorry, don't know without additional research. Switch to a newer version and see what happens.
Cemal
@cmlonder
Hi all, should I register CAS itself as a service to successfully use REST Protocol? I use different context path than "cas" which makes my audience -> localhost:8080/someContext instead of localhost:8080/cas. Anyway If I don't register a regex service in json that matches with my /someContext and than I request http://localhost:8080/someContext/v1/tickets?....service=http://anyMatchingService I got exception Unauthorized Service Access. Service http://localhost:8080/someContex is not found in service registry. . Here is the CAS code that follows my exception -> (payload.getRegisteredService returns null, code tries to get registeredService for /someContext which not exist)val registeredService = payload.getRegisteredService() == null ? locateRegisteredService(serviceAudience) : payload.getRegisteredService(); RegisteredServiceAccessStrategyUtils.ensureServiceAccessIsAllowed(registeredService);
Mikel
@mikelasla
Thanks @mmoayyed, I'll do that and tell you
vhurtevent
@vhurtevent
Hello, we are studying passwordless authentication method which could be quite usefull for unknow users. I can't fin any documentation about using informations (mail, name, etc) returned by the accountstore (rest in our case) as attributes, usefull for the client service. Is it possible ?
Philipp Berger
@philippberger
Hi all, we are currently using CAS 5.3.14 and facing the issue that our implementation of org.apereo.services.persondir.IPersonAttributeDao is called on every creation of a ProxyGrantingTicket. For me it looks like org.apereo.cas.audit.AuditableExecution.execute(AuditableContext) leads to org.apereo.cas.authentication.principal.cache.AbstractPrincipalAttributesRepository.retrievePersonAttributesToPrincipalAttributes(String) which is called for any service url. Is this the intended behavior?
Cemal
@cmlonder
Here is my question: Rest Protocol does not work if there is no service with generic regex
Mikel
@mikelasla

@mmoayyed tested 6.1.2 with same results, CAS sends the token to the user, but the token fails to load a form, instead loads the login form again
this is my relevant config (anonymizing some fields tougth)

cas.authn.pm.enabled=true
cas.authn.pm.ldap.type=AD
cas.authn.pm.ldap.usernameAttribute=userPrincipalName
cas.authn.pm.ldap.searchFilterUsername=(userPrincipalName={user})
cas.authn.pm.ldap.ldapUrl=ldap://...:389
cas.authn.pm.ldap.useSsl=false
cas.authn.pm.ldap.baseDn=OU=produccion,DC=...,DC=...
cas.authn.pm.ldap.searchFilter=(userPrincipalName={user})
cas.authn.pm.ldap.bindDn=...
cas.authn.pm.ldap.bindCredential=.....
cas.authn.pm.reset.mail.from=autenticacion.noreply@...
cas.authn.pm.reset.mail.attributeName=userPrincipalName
cas.authn.pm.reset.mail.text=Para recuperar su contrase\u00F1a siga las instrucciones de este enlace: %s
cas.authn.pm.reset.mail.subject=Solicitud de cambio de contraseña

cas.authn.pm.reset.mail.from=....
cas.authn.pm.reset.mail.attributeName=email
cas.authn.pm.reset.mail.text=Reset your password with this link: %s
cas.authn.pm.reset.mail.subject=Password Reset Request
cas.authn.pm.reset.expirationMinutes=10

spring.mail.host=....
spring.mail.port=25
spring.mail.username=....
spring.mail.password=....
spring.mail.testConnection=true
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=false

The most annoying thing is that nothing appears on the log, I've got trace level enabled

Mikel
@mikelasla
Also, if it's not working on 6.0.3 and neither on 6.1.2, that's it worth to test on intermediate versions?
Gary Windham
@windhamg
Hi folks, I'm working on a CAS 6.1.2 instance and am using the embedded Jetty container. Does anyone know if there are cas.properties configuration parameters for Jetty, similar to the ones for the embedded Tomcat container detailed at https://apereo.github.io/cas/6.1.x/configuration/Configuration-Properties.html#embedded-apache-tomcat-container ?
Misagh Moayyed
@mmoayyed
@windhamg yes checkout the spring boot documentation for appendix A and they should be there.
Misagh Moayyed
@mmoayyed
@mikelasla if by immediate you mean most recent, that depends. It's usually a good idea to test. Not everything is ported back to maintenance branches
Mikel
@mikelasla
@mmoayyed thanks for your response, I'm trying now to debug the error and see if I can understand better the situation
infinity202
@infinity202
@mikelasla the PM function via web interface seems to be missing some parts of code. If you do a request new password via email it works great. I tested it with version 6.2.
Mikel
@mikelasla
Hi @infinity202 , thanks for your response, sorry I didn't undertand, I'm new in this CAS world. I did some integrations in the past tought. what do you mean with "request new password via email"? .
infinity202
@infinity202
Hi @mikelasla , i am new too ;-) I tried the password management too with 6.2 and i noticed too that the webpages of the CAS server don't appear to handle the things correctly. But i noticed that requesting a new password via email does seem to work.
But maybe i didn't read or understand you question correctly....
Mikel
@mikelasla
@infinity202 I see, and how do you request that new password by mail?
infinity202
@infinity202

after that i ran into new errors/ problems. The "set new password" method doesn't work. It only works if you reset the password by sending an email to the user.
I follow this guide: https://apereo.github.io/2019/10/25/cas61x-password-management-jdbc/
my remarks:

  1. "# Password Reset Email Info" and "# Forgot Username Email Info" have their option values mixed up. If you want have forgotten your username the system should lookup your email address. If you want to reset your password you need to give your name in stead of email address IMHO
  2. expired login method fails to update the database table Users. It does store the old password in the history table.
  3. text above the input fields isn't quite clear on what to do.

This is what i found out at 23 november.

Mikel
@mikelasla
@infinity202 thanks again for your response, my use case has Active Directory as the user directory, I think jdbc is not an option for me
Cardo Kambla
@CardoKambla
Good evening! Has anybody implemented OAuth20/OIDC protocol in their CAS? I have implemented it and have wondered if there is some way possible to find the relation of the user (username) and token with the given information from the database. I know OIDC gives a id_token in a JWT form, where the username is but I would like to be separately.
Cardo Kambla
@CardoKambla
The reason behind it is that I have an application that uses currently Spring Security Authorization and Resource Server. I want to implement the Apereo CAS Authorization Server to work with Spring Security Resource Server. They(Auth and Resource server) would use the same database for selecting/updating/inserting oauth_tokens. The default Spring Security JdbcTokenStore uses two tables for tokens, while Apereo CAS OAuth2.0 uses only one. If I were to get the username somehow from the table, I would be able to write my own custom JdbcTokenStore for the Resource Server.
namedHK
@namedHK
hi,everybody,did github has some example about how to develop cas by "cas gradle overlay templates"
Cardo Kambla
@CardoKambla
Discard my question. I was approaching the issue in a wrong way. I should have used /introspect request from the resource server to validate my access token. Also the library I was using is deprecated, so I am upgrading from it now.
Also I noticed with OIDC protocol, when I do the /introspect request. The expiration value of the token is not correct. The documentation states "Integer timestamp, measured in the number of seconds
since January 1 1970 UTC, indicating when this token will expire,
as defined in JWT" for the expiration time of the token. CAS has a default value of 28800 which does not correspond to that field correctly. It should start from 1576762337.
Cardo Kambla
@CardoKambla
the /introspect issuedAt and expiredAt response values need to be checked, when you leave the default values on, then spring security 5.2 resource server will throw the error "java.lang.IllegalArgumentException: expiresAt must be after issuedAt"
even though /introspect says the token is active, Spring Security 5.2 resource server sees a error when constructing the token object in java. It checks if issuedAt/expiredAt is null or not and when they are not null, it will check if expiredAt value is after issuedAt