Just getting started in the world of SAML...
Dan G. Switzer, II
dswitzer at pengoworks.com
Fri Jul 11 10:02:22 EDT 2014
I've been syncing my head into the world of SAML over the past couple of
days off and on. I've been a ton of reading, but I have a few questions
that I'm unsure of, so hopefully someone here can help me out.
First, all little background. I'm working on a SaaS application, where
each of our clients is a separate company which has it's own branded URL
to access the functionality.
What we want is for clients who want to use SSO, they will define their
IdP when configuring their company. Companies can then choose to either
restrict all logins to their IdP or allow mixed authentication. When
forcing users to use their IdP, the users will never see our normal
login screen, but instead be taking directly into the SAML workflow. For
mixed authentication, users will be presented w/a SSO which goes to the
configured IdP.
So with that in mind, I have a couple of questions.
1. Do all HTTP requests get processed by Shibboleth SP, or just calls to
the specific URI patterns?
It would appear in Apache, only URI patterns with the "AuthType
shibboleth" would be passed through the SP. Is that correct?
2. When using Shibboleth SP and I'll be having multiple IdPs, it appears
I need to use the Discovery Server.
How do I push new IdPs into the Discovery Service? Can I do that from an
REST API, where my application can push information into the DS? We
ideally want to preconfigure some popular IdPs and then allow users to
specify their own.
Can I use a central DS, or should I really use a separate DS for each
node in my cluster? If I should install the embedded DS, what's the best
way to propagate changes to all my servers?
3. What's the best way to handle changes in the IdP's cert? If I use a
centralized Discovery Server, is that the only place the certs need to
be? If not, is there a way to push new certs into the Service Provider
via an REST API?
4. How can I handle directing my users to the correct IdP? We need to
configure specific clients to go through specific IdPs that their
administrators configure.
5. Considering that each client is going to communicate w/a specific
IdP, would I be better off just using OpenSAML and implement what I
need? Everything I've read said don't try to recreate the wheel, but
really all I need to do is generate the initial request to the IdP and
then process the results. Would perhaps just using OpenSAML make the
most sense?
I apologize if these are basic questions that I missed in the documentation.
Thanks in advance!
-Dan
--
Dan G. Switzer, II
dswitzer at pengoworks.com
http://blog.pengoworks.com/
More information about the users
mailing list