Question

Why is RP using browser as a mediator, Why can't RP redirect directly to IP before authentication and vice versa after authentication?

I came up with some reasons but couldn't convince myself.. so asking you :)

1) RP and IP cannot keep a line of connection (against: what if RP calls STS web service and gets the data in response)

2) To manage cookies/session(against: but can't RP finally return the cookie? And the browser returns it in each request thus maintaining a session),

3) It is the browsers responsibility to pass the credentials to IP because of data protection policy(good one)

4) IP needs to know who the caller is (against: why?)

Was it helpful?

Solution 2

I have been looking in to the Active and passive federations. Thanks to Eugene.S. In passive federation the login window needs to be provided by lDP. So a web service call from RP to lDp wont provide the login window to the browser(caller). Hence browser redirect is needed in passive federation.

Another amazing find in passive federation is that RP never looks into users credentials. It only is interested in token/cookie. if not found then the user goes to lDP and provides credentials there. As mentioned by the author in comments (http://blogs.msdn.com/b/mcsuksoldev/archive/2010/07/07/windows-identity-foundation-101-s-ws-federation-passive-requestor-profile-part-1-of-2.aspx)

In Active federation browser never leaves RP. RP gets users credentials and post to lDP. For this action to happen RP needs to have a web service client. Web service runs in lDP(STS). There is one thing that bugged me still. If the RP can get the users credentials, why should it ask lDP for its validity? Why cant RP do what lDP is about to do. Eg: RP can ask active directory directly instead of asking ADFS to do it(old windows authentication :P). But then 'leastprivilege' enlightened us about RP being external. So I hope lDP is used for security reasons, to have a single point of contact and to separate authentication from all applications (RPs)

So we now have the justification for the browser redirect and also for the no-browser-redirect-but-WS-call!!

Another question starts to arise now. Why is there two federations: active and passive. When to use what? I am going to find that out, if not I post it as a new question.

OTHER TIPS

Because it is a very typical scenario that RP cannot directly communicate with the IdP, e.g. RP is external, user and IdP are on the intranet.

Another reason is SSO - you need to be able to set a cookie between browser and IdP.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top