<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>&nbsp;</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&nbsp;notes will be a good starting point for me and anyone who&nbsp;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>&nbsp;</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&nbsp;</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" &lt;cantor.2@osu.edu&gt;<br> <b><span style="font-weight: bold;">To:</span></b> Shib Dev &lt;dev@shibboleth.net&gt; <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" &lt;<a href="mailto:manishasinha70@yahoo.com" ymailto="mailto:manishasinha70@yahoo.com">manishasinha70@yahoo.com</a>&gt; wrote:<br><br>&gt;I have spent the last few hours trying to get my through the code. I have<br>&gt;not been able to figure out anything yet. I have worked with other open<br>&gt;source (though smaller scale), and could understand most of the code. I<br>&gt;understand that building an IDP is a complex project. Those who are<br>&gt;working on it may not agree with me....but is there anyone (with not much<br>&gt;experience with security and spring) who could get a good grasp of it<br>&gt;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>&gt; <br>&gt;P.S: Please don't say that I need to put in more effort. I am not looking<br>&gt;for a shortcut....just more inputs regarding the class/package/project<br>&gt;structure, how different authentication mechanisms are handled, how the<br>&gt;assertion is build, communication<br>&gt; with SP..... I need to understand the IDP quickly so that I can use it<br>&gt;in my project.<br><br>&gt;From memory alone for SSO, probably not 100% correct:<br><br>Profile Handler<br>&nbsp;&nbsp;&nbsp; Message Decoded by OpenSAML layer<br>&nbsp;&nbsp;&nbsp; Request Context built<br>&nbsp;&nbsp;&nbsp; Creates Login Context<br>&nbsp;&nbsp;&nbsp; Control Passed to Authentication Engine<br><br>Authn Engine<br>&nbsp;&nbsp;&nbsp; Analyzes Login Context to identify appropriate Login Handler<br>&nbsp;&nbsp;&nbsp; Passes control to Login
 Handler<br><br>Login Handler<br>&nbsp;&nbsp;&nbsp; Does its business and returns authenticated identity and ancillary info<br>to engine<br><br>Authn Engine<br>&nbsp;&nbsp;&nbsp; Transfers control back to Profile Handler<br><br>Profile Handler<br>&nbsp;&nbsp;&nbsp; Runs attribute resolver and filter<br>&nbsp;&nbsp;&nbsp; Packages results into assertion<br>&nbsp;&nbsp;&nbsp; Generates protocol response<br>&nbsp;&nbsp;&nbsp; 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>