single sign-on (SSO) for web applications (used through a browser) is well documented and installed. Setting up SSOs for affluent customers is more difficult and is usually offered based on Kerberos tickets, in particular using the Windows login to ActiveDirectory in the domain.
However, I am looking for a more general solution for the following: I need to set a "real" SSO (one identifier for all applications, i.e. not only password synchronization in applications), where on the client side (unmanaged computers, including non-Windows), " end clients "are a Java application and a GTK + application. Both interact with their counterparts on the server using the HTTP protocol (say, WebServices over HTTPS). Clients and the server are not necessarily located on the same LAN / Intranet, but the client can access the servers from the extranet. The server side of all applications is in the same network area, and the SSO component can access the identity provider through LDAP.
My question is basically βhow can I do thisβ? More specific,
a) is there a consistent mechanism for a secure secure client "sso-session storage", as with cookies cookies for SSO applications for applications that support the browser? Perhaps something like Kerberos emulation (TGT?) Or even directly reusing it even where ActiveDirectory authentication was not performed on the client side?
b) are there any protocols / APIs / frameworks for exchanging data between rich clients and other participants in SSO (as is the case with cookies)?
c) Are there any APIs / frameworks for push-like TGTs and session tickets over the network?
d) are there any examples of implementations / tutorials that demonstrate how to perform an SSO with a rich client?
I understand that there are "fill-out" agents that learn to enter credentials in client-side application dialogs. I would prefer not to use such an "assistant", if possible.
Also, if possible, I would like to use CAS, Shibboleth, and other open source components, where possible.
Thanks for the comments, suggestions and answers!
Miku