<html><body><div style="color:; background-color:; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Thanks Scott. This is very helpful.</span></div><div style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 16px; font-style: normal; background-color: transparent;"><span></span> </div><div style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 16px; font-style: normal; background-color: transparent;"><span>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.</span></div><div style="color: rgb(0, 0,
0); font-family: times new roman, new york, times, serif; font-size: 16px; font-style: normal; background-color: transparent;"><span></span> </div><div style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 16px; font-style: normal; background-color: transparent;"><span>Thanks </span></div><div><br></div> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> <div style="margin: 5px 0px; padding: 0px; border: 1px solid rgb(204, 204, 204); height: 0px; line-height: 0; font-size: 0px;" class="hr" contentEditable="false" readonly="true"></div> <b><span style="font-weight: bold;">From:</span></b> "Cantor, Scott" <cantor.2@osu.edu><br> <b><span style="font-weight: bold;">To:</span></b> Shib Dev <dev@shibboleth.net> <br> <b><span
style="font-weight: bold;">Sent:</span></b> Thursday, August 9, 2012 5:26 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: Put breakpoints and follow the Shibboleth IDP<br> </font> </div> <br>
On 8/9/12 7:32 PM, "Manisha Sinha" <<a href="mailto:manishasinha70@yahoo.com" ymailto="mailto:manishasinha70@yahoo.com">manishasinha70@yahoo.com</a>> wrote:<br><br>>I have spent the last few hours trying to get my through the code. I have<br>>not been able to figure out anything yet. I have worked with other open<br>>source (though smaller scale), and could understand most of the code. I<br>>understand that building an IDP is a complex project. Those who are<br>>working on it may not agree with me....but is there anyone (with not much<br>>experience with security and spring) who could get a good grasp of it<br>>quickly. If yes, please share your notes/thoughts.<br><br>I know Java only at a basic level (enough to do bad but functional Java<br>code), knew nothing about Spring. It took me a week or so, maybe a bit<br>less, to pick up on most of the key pieces. Because I *do* know security<br>and SAML. If you haven't read the
standard and many of the subsequent<br>profiles, to be honest, you're not even serious. So I'll assume you have.<br><br>> <br>>P.S: Please don't say that I need to put in more effort. I am not looking<br>>for a shortcut....just more inputs regarding the class/package/project<br>>structure, how different authentication mechanisms are handled, how the<br>>assertion is build, communication<br>> with SP..... I need to understand the IDP quickly so that I can use it<br>>in my project.<br><br>>From memory alone for SSO, probably not 100% correct:<br><br>Profile Handler<br> Message Decoded by OpenSAML layer<br> Request Context built<br> Creates Login Context<br> Control Passed to Authentication Engine<br><br>Authn Engine<br> Analyzes Login Context to identify appropriate Login Handler<br> Passes control to Login
Handler<br><br>Login Handler<br> Does its business and returns authenticated identity and ancillary info<br>to engine<br><br>Authn Engine<br> Transfers control back to Profile Handler<br><br>Profile Handler<br> Runs attribute resolver and filter<br> Packages results into assertion<br> Generates protocol response<br> Response encoded by OpenSAML layer<br><br>Much of the profile work is in base classes for the SAML 1 and SAML 2<br>profiles and the weakest/hardest part of figuring it all out is that<br>various handoffs between the classes during profile execution for<br>populating the request context and generating the response.<br><br>-- Scott<br><br>--<br>To unsubscribe from this list send an email to <a href="mailto:dev-unsubscribe@shibboleth.net" ymailto="mailto:dev-unsubscribe@shibboleth.net">dev-unsubscribe@shibboleth.net</a><br><br><br> </div>
</div> </div></body></html>