Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Feb 03 18:53
    mmoayyed commented #5593
  • Feb 03 18:53
    mmoayyed commented #5593
  • Feb 03 17:26

    mmoayyed on master

    clean up bean names for saml2 m… allow ticket registry to query … allow ticket registry to query … and 2 more (compare)

  • Feb 02 13:43
    leleuj commented #5593
  • Feb 02 10:28
    mmoayyed commented #5593
  • Feb 02 07:13
    leleuj commented #5593
  • Feb 01 14:23
    leleuj commented #5593
  • Feb 01 13:58

    mmoayyed on 6.6.x

    Update SamlIdPMetadataConfigura… (compare)

  • Feb 01 13:53
    mmoayyed commented #5593
  • Feb 01 13:52
    mmoayyed commented #5593
  • Feb 01 13:31
    leleuj commented #5593
  • Feb 01 13:14

    mmoayyed on master

    troubleshoot hanging builds - w… troubleshoot hanging builds - w… troubleshoot hanging builds - w… and 3 more (compare)

  • Feb 01 09:07
    mmoayyed commented #5593
  • Feb 01 08:57
    mmoayyed commented #5593
  • Feb 01 08:49
    mmoayyed commented #5593
  • Feb 01 07:56
    leleuj commented #5593
  • Feb 01 04:41

    mmoayyed on master

    minor refactoring to allow for … doc updates doc updates and 1 more (compare)

  • Jan 31 17:17
    leleuj commented #5593
  • Jan 31 17:10
    apereocas-bot closed #5603
  • Jan 31 17:10
    apereocas-bot commented #5603
Chip Ivormi
@Ivormi_twitter

Another issue with Surrogate/Impersonation. This time, I've run into an interesting situation with Impersonation + MFA. Using out of the box 6.6.0, I can get mfa-simple and impersonation/surrogate working separately. However, as soon as I try and turn them both on, things break.

If I have them both on, and try to log in as +username, I go through the MFA routine and it logs in as username, without giving me the option of selecting a surrogate user.

If I have them both on, and try to log in as surrogateusername+username, I start the MFA routine, but CAS throws the following error:

2022-09-21 10:43:13,779 WARN [org.apereo.cas.mfa.simple.validation.DefaultCasSimpleMultifactorAuthenticationService] - <Principal assigned to token [username] is unauthorized for token [CASMFA-#######]>
2022-09-21 10:43:13,811 ERROR [org.apereo.cas.mfa.simple.CasSimpleMultifactorAuthenticationHandler] - <Failed to authenticate code CASMFA-###### DefaultCasSimpleMultifactorAuthenticationService.java:validate:76 CasSimpleMultifactorAuthenticationHandler.java:doAuthentication:63 AbstractPreAndPostProcessingAuthenticationHandler.java:authenticate:47 >

This means that, if I want Impersonation, it seems that I need to disable MFA, and vice versa. Has anyone been able to get both of these working simultaneously with recent (6.5.x, 6.6.x) versions of CAS?

Thanks!

Ripplet
@ripplet:matrix.org
[m]

Hello there, I think casinit.herokuapp.com is broken because regardless of the specified cas version I get:

version=7.0.0-SNAPSHOT
# CAS server version
cas.version=7.0.0-SNAPSHOT

Inside gradle.properties

Ripplet
@ripplet:matrix.org
[m]

:point_up: Edit: Hello there, I think casinit.herokuapp.com is broken because regardless of the specified cas version I get:

version=7.0.0-SNAPSHOT
# CAS server version
cas.version=7.0.0-SNAPSHOT

Inside "gradle.properties"

:point_up: Edit: Hello there, I think casinit.herokuapp.com is broken because regardless of the specified cas version I get:

version=7.0.0-SNAPSHOT
# CAS server version
cas.version=7.0.0-SNAPSHOT

Inside gradle.properties

dargur mikk
@dargurm_gitlab
can someone advice me how to force cas auth again when doChangePassword parameter is present? the problem is when a user is not logged in doChangePassword triggers password change flow after successful login. but if a customer is already logged in (TGC) it doesn't show login view in order o change password but redirects directly to the service
jordi-balaguer
@jordi-balaguer
Hi all, we are using 6.3.x with Git service registry and we are experiencing some issue when it's deployed in HA. We enabled pushes in the service registry in order to push dynamic registrations to the Git remote repository. However, as "writes" may come from any of the nodes.. If we had a previous write (push) in a different node, the current node is not able to pull or push. Did you have a similar issue? Do you know if Git service registry is designed to be used in HA deployments when you enable pushes?
Misagh Moayyed
@mmoayyed

@/all

Hello all,

The CAS project management committee has prepared a survey to request
feedback from CAS deployers:

https://bit.ly/3Egdoe4

Our intention is to help clarify specific areas in the CAS ecosystem
that need attention, understand user demographics and common use cases
and explore opportunities to support and prioritize funding of
development activities.

There is no submission due date yet though ideally, it would be best
to finalize the results before 2022 ends. I will try to send out
monthly reminders to the list here.

Please try to keep your answers realistic, concise and objective as
much as possible. As per the last surveys, responses will surely help
and guide the project's direction. Survey results will be anonymized,
aggregated and published accordingly for wider community's review on
the Apereo blog. Details to follow.

Thank you!

On behalf of the CAS project management committee,
Misagh

P.S. If you are not able to pull up the link or have questions, please
reach out to the PMC or me directly.

1 reply
mijutu
@mijutu:ellipsis.fi
[m]
Can I read the questions or answer them without a google account?
Juliusz Marciniak
@rechandler12
is there possible to use serviceA with LDAP A and serviceB with LDAP B? CAS 6.5.4
Łukasz
@lgwozniak
Hi, i use Oauth with JWT with CAS6.5.x and when I request for Refresh Token the "aud" field is diffrent than requested for access_token. Any idea why ?
Robin Dupret
@rdupret_gitlab

Hello,

I'm trying to upgrade from CAS 6.5.5 to 6.6.1 but even though the process went successfully, we can't manage to connect on any service, all tickets are considered invalid ("Ticket is not recognized")

We are using a Redis store for tickets. The configuration file is the exact same between the two versions.

Any hint to debug that please ?

kjkeane
@kjkeane:matrix.org
[m]

I could be wrong but I think it's this commit.

apereo/cas@21e163c

RESP3 was introduced in Redis 6.

So if you're using version 5, like me, it may not function.

Robin Dupret
@rdupret_gitlab
@kjkeane:matrix.org : Unfortunately we are already on Redis 6 but thank you very much for your answer !
Robin Dupret
@rdupret_gitlab

Okay so there's like 99% of chance that there is a regression between 6.5.x and 6.6.x

With the exact same cas-overlay-template project, just changing version and cas.version from 6.5.9 to 6.6.1 (keeping springBootVersion as 2.6.3) makes the CAS either work or fail

Robin Dupret
@rdupret_gitlab
The regression seems to be between 6.0.0-RC5 and 6.6.0
kjkeane
@kjkeane:matrix.org
[m]
I do know when I went from 6.5.2 to 6.6.0 I had to clear out our Redis keys. Because it was failing to encrypt/decrypt them.
Robin Dupret
@rdupret_gitlab
@kjkeane:matrix.org : Thanks again but I already tried to empty Redis, restart it and reboot the whole machine, still the same :-/
Robin Dupret
@rdupret_gitlab
Actually, I still have INVALID_TICKET disabling Redis and using the default registry
dargur mikk
@dargurm_gitlab
After upgrading from 6.5.6 to 6.6.1 my application.yaml & application-foo.yaml don't get loaded anymore. Has anyone faced similar issue?
dargur mikk
@dargurm_gitlab
somehow classpath:config/appliction.yaml is being ignored but classpath:application.yaml gets loaded. according to spring boot 2.7 docs config/application.yaml should be loaded as before. so what did change in cas 6.6 that changed this behavior?
dargur mikk
@dargurm_gitlab
another weird bug: the commit cda8b7ff016cb3631ee7fdc47249b95e556e64bc after 6.6.0-RC5 introduced regex matching for ip addresses defined for actuator endpoint. seriously, regex for ip matching? so the proper ranges which were working before now don't work anymore. e.g.. required-ip-addresses: ["127.0.0.1", "172.18.0.0/22", "10.0.0.0/8"] don't work anymore. this undocumented breaking change caused deployment to fail because health endpoint cannot be accessed anymore
julioromero
@julioromero

Dear Apereo CAS community, I am in need of some help if someone has come across a similar issue.

I'n on CAS 6.6.0 and I'm trying to implement SAML 2.0 integration by having CAS acting as a SP and delegating authentication to external IDP.
I have configured all settings to generate the SP metadata file, and I was provided with the IDP metadata file as well.

The problem is that the IDP entity wants to use the Artifact resolution service and sends us back a SAMLart (artifact). At this point, the flow returns back to CAS and it stays there.
It seems that CAS does not know what to do with the SAML artifact once it receives it from IDP, when technically it should be calling the endpoint specified by the ArtifactResolutionService from the IDP metadata file.
From tracing the SAML request/responses, I can tell that CAS is not calling anything else once it receives the SAMLart from the IDP after user authenticates successfully.
I ran a separate test by using the IDP service at https://samltest.id/ and everything is working fine, but I think the difference here is that this IDP doesn't use artifact binding, it goes a simpler way of HTTP-POST I believe.

So my question is: Does CAS SAML 2.0 integration support this artifact binding (sending artifact resolve request / receiving artifact response)?
If so, what could I be missing in my configurations?
If not, where would I need to modify CAS code to perform a SOAP request with the SAML artifact to receive the assertion?

1 reply
dargur mikk
@dargurm_gitlab

somehow classpath:config/appliction.yaml is being ignored but classpath:application.yaml gets loaded. according to spring boot 2.7 docs config/application.yaml should be loaded as before. so what did change in cas 6.6 that changed this behavior?

i tracked down this issue to some changes between 6.6.0-RC5 and 6.6.0. both versions use spring boot 2.7. so its not a boot problem. the changes in the cas code cause config files from classpath:config not being loaded even when are specified in src/main/resources/application.yml spring.config.additional-location=config/

dargur mikk
@dargurm_gitlab

can someone advice me how to force cas auth again when doChangePassword parameter is present? the problem is when a user is not logged in doChangePassword triggers password change flow after successful login. but if a customer is already logged in (TGC) it doesn't show login view in order o change password but redirects directly to the service

@mmoayyed can you please advice, how to trigger password change when sso is active (valid TGC present)? I tried renew=true but it just prompts for password and after login it redirects back to the service=foo instead of showing password change flow. so the only current way is to logout customer and redirect him to cas change his password. but if he cancels the password change action then he kind of logged out for nothing and has to log in back. not the best UX I guess. so the best would be i guess, to redirect to cas with renew=true&doChangePassword, after successful login, perform change password operation and logout (quite common flow on many portals)

1 reply
mrokitka
@mrokitka
Hi, is there a rough ETA on java-cas-client 4.x release? We're evaluating upgrading to Jakarta Servlet API, but lack of support in 3.x line is a blocker for this
mwbi
@mwbi

Hi, we want to use apareo cas as oidc server , but we have the problem, that attribute in the scope email, openid are returned as array not as string. we use ldap as datasource
cas.authn.attribute-repository.ldap[0].attributes.mail=email
cas.authn.attribute-repository.ldap[0].attributes.cn=name
cas.authn.attribute-repository.ldap[0].attributes.sn=family_name
cas.authn.attribute-repository.ldap[0].attributes.cn=name
cas.authn.attribute-repository.ldap[0].attributes.givenName=given_name

in the logs we see
attributes={name=[customuser2], given_name=[Elke], family_name=[Tretsuser], email=[foo2@bar.com]}, id=customuser2, scopes=[email, openid, profile], client_id=clientid}

cas version 6.6.0

dargur mikk
@dargurm_gitlab
anyone has idea how to visualize the webflow of cas? I need to figure out on which state can I hook my custom action but to get overview whats happening is very cumbersome
1 reply
dargur mikk
@dargurm_gitlab
image.png
Error messages created by org.apereo.cas.pm.web.flow.actions.PasswordChangeAction and may be other actions are not localized which leads to such inconsistent ux. any suggestions on how to link those with messageSource?
dargur mikk
@dargurm_gitlab
Even though in 6.6.1 there was an attempt to fix locale handling in the email communication but it still not working right. DefaultCommunicationsManager uses messageSource to localize email subject and message property resolution using #{foo.bar} works but the locale is wrong. the email body is correct because of the EmailMessageBodyBuilder uses resolved locale but communication manager never receives locale to use, thus, it uses default locale. so the email is body is in german but subject in english.
public class DefaultCommunicationsManager { ....
return messageSource.getMessage(matcher.group(1), args.toArray(),
                "Email Subject", ObjectUtils.defaultIfNull(emailRequest.getLocale(), Locale.getDefault()));
...
}
public class SendPasswordResetInstructionsAction  { .....
val emailRequest = EmailMessageRequest.builder().emailProperties(reset)
                .principal(person)
                .to(List.of(to)).body(text).build();
            return this.communicationsManager.email(emailRequest);
}
Joro Kushev
@jorokushev:matrix.org
[m]
Hello,
There is a new vulnerability with a very high CVE score (9.8) reported for Apache Commons Text. The vulnerable version is anything, between v1.5 till 1.9. In the current (latest) Apareo CAS 6.6 the version of the library which is in use is 1.9. Is there a plan for this to be upgraded to v1.10 or later?
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42889
kjkeane
@kjkeane:matrix.org
[m]

Looks like they updated it, just haven't made a release

apereo/cas@2d38962

2 replies
Juliet N. Njeri
@juliett:matrix.org
[m]
Hello, I would like to set up cas 5.3.* but am not able to find the cas-overlay-template for this version. Anyone who can guide, i will appreciate am a bit new to CAS
2 replies
Dhanesh Kumar
@dhanesh238
Hi, I am trying to setup SSO using SAML2 with CAS running as IDP. But, underlying application currently validates only the JWT token. Is there any API in CAS that we can leverage to generate the JWT token from SAML assertion?
2 replies
igorbga
@igorbga
Hi everyone. I'm trying to configure Google OpenID Connect delegated authentication by using the pac4j support. Everything seems to work great, I can authenticate. But the principal that I'm returned is not "my username" but a long number. I mean, if I authenticate with my Google Account iblanco@whatever.com I would like the principal to be "iblanco" not 171230230123.
I managed to make at least the principal to be the e-mail by setting this config:
cas.authn.pac4j.oidc[0].google.principal-attribute-id=email
But I can not further progress. I have tried to configure a groovy script in a couple of places in order to "massage" the value myself and remove the part behind the @, but they don't seem to get triggered as I expected them to do.
Any pointer would be much appreciated.
I have tried with a principal transformation script by using this parameter:
cas.person-directory.principal-transformation.groovy.location=
But the script was never triggered and in fact I think this script might be to transform the principal before authentication, not after. So probably that's not the right way to proceed...
igorbga
@igorbga
I've also tried to set a script in the service's usernameAttributeProvider section, but they don't seem to trigger either...
Maybe I have to define a new attribute and somehow make it programatically build what I need from an already existing attribute ?
I understand that what I'm getting as a principal id from google is probably a unique number to identify myself in Google, but I guess that what I'm trying to do is not so weird either, isn't it? I will just allow Google authentication from my domain so I can safely assume that the first part of the e-mail would be unique.
igorbga
@igorbga
I could just use the e-mail but them I would have to modify all consumer applications so that they can understand that the user profile identified as iblanco and the ones identified a iblanco@whatever.com are the same user.
igorbga
@igorbga
[SOLVED] Finally I managed to do it using the usernameAttributeProvider in the service and a groovy script like this:

def run(Object[] args) {
def ALLOWED_EMAIL_DOMAIN="whatever.com"

def attributes = args[0];
def id = args[1];
def service = args[2];
def logger = args[3];


def suffix = "@" + ALLOWED_EMAIL_DOMAIN.toLowerCase()
if (id.toLowerCase().endsWith(suffix)) {
    return id.substring(0, id.length() - suffix.length())
}
return id

}

newbeeeeeee
@newbeeeeeee

Hello All, I am trying to build cas management app and when I enable AWS service registry like dynamodb or S3, I get the following error, for dynamodb it creates the table and then fails to start:


APPLICATION FAILED TO START


Description:
Parameter 1 of method restAuthenticationService in org.apereo.cas.rest.config.CasCoreRestConfiguration$CasCoreRestAuthenticationConfiguration required a bean of type 'org.apereo.cas.authentication.MultifactorAuthenticationTriggerSelectionStrategy' that could not be found.
The injection point has the following annotations:

- @org.springframework.beans.factory.annotation.Qualifier(value="defaultMultifactorTriggerSelectionStrategy")

Action:
Consider defining a bean of type 'org.apereo.cas.authentication.MultifactorAuthenticationTriggerSelectionStrategy' in your configuration.

Anyone have any ideas why this would be happening? if I remove the cas management AWS dependency it works fine.

Łukasz
@lgwozniak
Hello, does anybody know about some problems with logging on OAuth2 with Office365 ?