CAS can do multifactor. It can also release a bunch of attributes about
how the authentication went if you use the CAS 3 protocol. The service
directing the individual to CAS can also request that a fresh login is
used. Combined together, the service can be assured (so long as they
trust the CAS IdP) that the authentication just happened. Submitting
credentials again would likely not offer any increased security. And it
also requires that each app handles the plain text credentials and needs
to have the infrastructure to use it. Something like a Duo push on the
SP side for MFA would be additional work for the user, but removes some
of the infrastructure requirements on the SP.
On 6/21/21 3:02 PM, Fernando Bárcenas Martínez wrote:
i see. So it was indeed something I wasn't really understanding about
how to handle the data, even when I was right about the authentication
and authorization roles of CAS and Spring Security. That tells me that
for my scenario, I will need to get a ticket for a meeting to rebuild
some things, then.
And about the need to submit credentials again: I don't like it
either, but I understand it's some sort of two-factor authorization. I
got no vote on those design choices though.
Thank you very much for your insight and for the resources. I'll take
a closer look to the Attribute Resolution too.
El lunes, 21 de junio de 2021 a las 12:13:33 UTC-5, Ray Bon escribió:
Cas can find username/password from a variety of sources and this
can be configured per service [1].
You can use the CAS 3 protocol [2] to release attributes to the
client application. And like username/password, attributes can be
obtained from more than one location [3].
There is also the facility to release the user's password [4].
This should be a last resort.
Spring and cas can point to the same table for user data. Cas is
for authentication, your application will have to perform
authorization. If you are returning attributes, you may need to
override or provide custom UserDetails and/or UserDetailsService
classes to handle the different source of attributes.
As for submitting username/password for 'important transactions',
this seems to be an architectural smell. If you know the user
(with attributes), what does the password give you? If requiring
the password is a decision out of your control, submitting it
automatically would circumvent this requirement.
Ray
[1]
https://apereo.github.io/cas/6.3.x/services/Service-Management.html
<https://apereo.github.io/cas/6.3.x/services/Service-Management.html>
[2]
https://apereo.github.io/cas/6.3.x/protocol/CAS-Protocol-Specification.html#28-p3servicevalidate-cas-30
<https://apereo.github.io/cas/6.3.x/protocol/CAS-Protocol-Specification.html#28-p3servicevalidate-cas-30>
[3]
https://apereo.github.io/cas/6.3.x/integration/Attribute-Resolution.html
<https://apereo.github.io/cas/6.3.x/integration/Attribute-Resolution.html>
[4] https://apereo.github.io/cas/6.3.x/integration/ClearPass.html
<https://apereo.github.io/cas/6.3.x/integration/ClearPass.html>
On Saturday, June 19, 2021 at 9:24:34 AM UTC-7
[email protected] wrote:
Good day! I've looked around for ways to enable SSO for our
web applications and CAS came out as an answer a lot, so I did
some research and gave it a try. So far, I managed to get the
server running and it generates de tickets using data for an
'access' database table. I have an issue with the redirects,
but that's not the topic of this.
The doubts I have are about the UserDetailsService and
UserDetails. Many of the tutorials and documentations I've
read touch into this breefly. I also didn't think it was much
necesary since using Spring Security formLogin is pretty much
the same concept, but as I tried to 'map' my needs to this,
things got confusing.
As I understand, CAS will use this 'access' table to
authenticatate, but that means that Spring will use it's own
'users' table to authorize. This kind of breaks my
requirements, as the idea of enabling SSO was to have a single
'users/access' table, not one for every webapp as we have
right now. The idea was to have the principal with important
data (principal name, password as it's required to enter it
for certain important transactions, autorithes for access and
a few other pieces of information that will let us know if an
user can access one webapplication or not), so having the
'users 'data to check for authorizations kind of make it seem
like there will be duplicated data as the info in 'access'
will need to match the UserDetails from 'users'... right?
Is this the way it should be or am I just not getting
something? To be fair, it would make my life easier to not
change the 'users' tables of our webapps, but for some other
stuff, like adding new users, will get more complex as i'd
need to set up another datasource pointing to the database
containing 'access'
--
- Website: https://apereo.github.io/cas <https://apereo.github.io/cas>
- Gitter Chatroom: https://gitter.im/apereo/cas
<https://gitter.im/apereo/cas>
- List Guidelines: https://goo.gl/1VRrw7 <https://goo.gl/1VRrw7>
- Contributions: https://goo.gl/mh7qDG <https://goo.gl/mh7qDG>
---
You received this message because you are subscribed to the Google
Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/c1846401-6b12-4ead-9fa6-f8dcc2378153n%40apereo.org
<https://groups.google.com/a/apereo.org/d/msgid/cas-user/c1846401-6b12-4ead-9fa6-f8dcc2378153n%40apereo.org?utm_medium=email&utm_source=footer>.
--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/3e8c6d58-3acd-fabd-edf8-af3341625f13%40ndsu.edu.