Hi,

1. I just tested it again with 6.4.0-RC5 and I still have the issue.

On the client side, I use the pac4j demo:
https://github.com/pac4j/spring-webmvc-pac4j-boot-demo on port 8081 (HTTP)
: server.port=8081 in the *application.properties*
On the server side, I use a CAS demo:
https://github.com/casinthecloud/cas-overlay-demo on port 8080 (HTTP) run
by a Tomcat 9.
I have the SAML IdP dependency:

<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-saml-idp</artifactId>
    <version>${cas.version}</version>
</dependency>

and this JSON definition:

{
  "@class" : "org.apereo.cas.support.saml.services.SamlRegisteredService",
  "serviceId" : "http://localhost:8081.*";,
  "name" : "SAMLService",
  "id" : 1,
  "evaluationOrder" : 1,
  "metadataLocation" :
"/Users/jleleu/sources/spring-webmvc-pac4j-boot-demo/sp-metadata.xml"
}

>From the client demo, I can log in via SAML or via CAS with the following
URL:
http://localhost:8080/cas/login?service=http%3A%2F%2Flocalhost%3A8081%2Fcallback%3Fclient_name%3DCasClient

With which version did you test it?

2. This is what I feared: breaking the world. I understand the rationale.
Let's solve #1 first.

Thanks.
Best regards,
Jérôme


Le ven. 11 juin 2021 à 09:54, Misagh <misagh.moay...@gmail.com> a écrit :

> I suppose there are two things to review:
>
> 1. The case you are describing actually works OK for me. If I have a
> SAML SP and I try to prevent it's a CAS SP, I correctly get
> "application unauthorized". So either something is missing in your
> setup, or I am overlooking something. Of course "it works for me"
> means nothing. You should likely start with a test case that tries to
> reproduce this, with puppeteer specially so we can see where the
> problem is. Either way, the @class attribute indicates the allowed
> protocol. We shouldn't need to make any other adjustments.
>
> 2. For the more general case, I have often thought about going down
> the same route as you suggest, to break up CAS SPs into their own
> entity and make the regex service some sort of parent abstract entity.
> Initial research shows that this is tons of work [never to be
> seriously funded by anyone], with potential to break the world with
> minor benefits which do not make this worthwhile. If this were to be
> done, v7 would be a good target but I would need to be 300% sure this
> is necessary, and cannot be fixed/improved in any other "easy" way,
> and that it should start with a concrete use case or problem that can
> be produced in #1.
>
> On Fri, Jun 11, 2021 at 10:42 AM Jérôme LELEU <lel...@gmail.com> wrote:
> >
> > Hi,
> >
> > Thanks for the feedback.
> >
> > @Misagh: do you have any plan on this?
> >
> > Best regards,
> > Jérôme
> >
> >
> > Le lun. 7 juin 2021 à 17:41, Daniel Ellentuck <d...@columbia.edu> a
> écrit :
> >>
> >> Hi Jerome, et. al.,
> >>
> >> I agree, and that would be a nice first step.  I wound up adding code
> in which a given registered service is only authorized for use with a
> specific list of protocols, and an attempt to access the registered service
> (e.g., by findServiceBy(Service)) for an unauthorized protocol returns null.
> >>
> >>     Dan
> >>
> >> Dan Ellentuck
> >> Columbia University I.T.
> >>
> >>
> >> On Mon, Jun 7, 2021 at 4:07 AM Jérôme LELEU <lel...@gmail.com> wrote:
> >>>
> >>> Hi,
> >>>
> >>> I have this SAML SP definition in CAS:
> >>>
> >>> {
> >>>   "@class" :
> "org.apereo.cas.support.saml.services.SamlRegisteredService",
> >>>   "serviceId" : "http://localhost:8081.*";,
> >>>   "name" : "SAMLService",
> >>>   "id" : 1,
> >>>   "evaluationOrder" : 1,
> >>>   "metadataLocation" :
> "/Users/jleleu/sources/spring-webmvc-pac4j-boot-demo/sp-metadata.xml"
> >>> }
> >>>
> >>>
> >>> And I have realized that I can log in using the CAS protocol with the
> same service definition :
> >>>
> >>>
> http://localhost:8080/cas/login?service=http%3A%2F%2Flocalhost%3A8081%2Fcallback%3Fclient_name%3DCasClient
> >>>
> >>> I would have expected the SAML definition not to work for the CAS
> protocol.
> >>>
> >>> More generally, I have the feeling that protocols are not sufficiently
> differentiated in CAS.
> >>> I'm thinking about the SamlIdPSingleLogoutServiceMessageHandler and
> the DefaultSingleLogoutServiceMessageHandler components although there
> might be better examples.
> >>>
> >>> We have built the SAML, OAuth and OIDC protocols on top of the CAS
> protocol while CAS should be somehow alongside the other protocols.
> >>>
> >>> In terms of design, as a first step, I would make
> RegexRegisteredService an abstract class and create a CasRegisteredService
> (inheriting from it) like we have a SamlRegisteredService, a
> OAuthRegisteredService...
> >>>
> >>> This may be a huge change better targeted at v6.5 or even v7.
> >>>
> >>> Does it make sense?
> >>>
> >>> Thanks.
> >>> Best regards,
> >>> Jérôme
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> Groups "CAS Developer" group.
> >>> To unsubscribe from this group and stop receiving emails from it, send
> an email to cas-dev+unsubscr...@apereo.org.
> >>> To view this discussion on the web visit
> https://groups.google.com/a/apereo.org/d/msgid/cas-dev/CAP279LzNmaCyk1f_ugJRcQbTappYN8zkKZnw6YAfYdyJZpK7HA%40mail.gmail.com
> .
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "CAS Developer" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to cas-dev+unsubscr...@apereo.org.
> > To view this discussion on the web visit
> https://groups.google.com/a/apereo.org/d/msgid/cas-dev/CAP279LwwkU8Y9%2BJ_JbJQMAt%2Be5VoPnXxUkH%2B_e1rzs%2BbEj8Adw%40mail.gmail.com
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "CAS Developer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cas-dev+unsubscr...@apereo.org.
> To view this discussion on the web visit
> https://groups.google.com/a/apereo.org/d/msgid/cas-dev/CAGSBKkeG6-xPoBi748j56GDyszoWTn%2B9pE7Chp3F-PWJBm3NxA%40mail.gmail.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups "CAS 
Developer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-dev+unsubscr...@apereo.org.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-dev/CAP279LyYWwohXOT31jB51K_9qOZ-U39Lt2n11Hjob1dxBCRwZQ%40mail.gmail.com.

Reply via email to