Put breakpoints and follow the Shibboleth IDP
Manisha Sinha
manishasinha70 at yahoo.com
Fri Aug 10 01:22:46 EDT 2012
Thanks Scott. This is very helpful.
I know intermediate level Java and I have read about SAML. Security (including the SAML protocol) is a totally new area for me. But I am putting my effort to learn them. I will document my understanding of the IDP package and class organization and the control flow and post it on the community page. Your notes will be a good starting point for me and anyone who wants to understand the code.
Thanks
________________________________
From: "Cantor, Scott" <cantor.2 at osu.edu>
To: Shib Dev <dev at shibboleth.net>
Sent: Thursday, August 9, 2012 5:26 PM
Subject: Re: Put breakpoints and follow the Shibboleth IDP
On 8/9/12 7:32 PM, "Manisha Sinha" <manishasinha70 at yahoo.com> wrote:
>I have spent the last few hours trying to get my through the code. I have
>not been able to figure out anything yet. I have worked with other open
>source (though smaller scale), and could understand most of the code. I
>understand that building an IDP is a complex project. Those who are
>working on it may not agree with me....but is there anyone (with not much
>experience with security and spring) who could get a good grasp of it
>quickly. If yes, please share your notes/thoughts.
I know Java only at a basic level (enough to do bad but functional Java
code), knew nothing about Spring. It took me a week or so, maybe a bit
less, to pick up on most of the key pieces. Because I *do* know security
and SAML. If you haven't read the standard and many of the subsequent
profiles, to be honest, you're not even serious. So I'll assume you have.
>
>P.S: Please don't say that I need to put in more effort. I am not looking
>for a shortcut....just more inputs regarding the class/package/project
>structure, how different authentication mechanisms are handled, how the
>assertion is build, communication
> with SP..... I need to understand the IDP quickly so that I can use it
>in my project.
>From memory alone for SSO, probably not 100% correct:
Profile Handler
Message Decoded by OpenSAML layer
Request Context built
Creates Login Context
Control Passed to Authentication Engine
Authn Engine
Analyzes Login Context to identify appropriate Login Handler
Passes control to Login Handler
Login Handler
Does its business and returns authenticated identity and ancillary info
to engine
Authn Engine
Transfers control back to Profile Handler
Profile Handler
Runs attribute resolver and filter
Packages results into assertion
Generates protocol response
Response encoded by OpenSAML layer
Much of the profile work is in base classes for the SAML 1 and SAML 2
profiles and the weakest/hardest part of figuring it all out is that
various handoffs between the classes during profile execution for
populating the request context and generating the response.
-- Scott
--
To unsubscribe from this list send an email to dev-unsubscribe at shibboleth.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://shibboleth.net/pipermail/dev/attachments/20120809/d2ee5dc9/attachment.html
More information about the dev
mailing list