SSO CAS ou OAuth?

Je me demande si je devrais utiliser le CAS protocole ou OAuth + certains fournisseur d'authentification pour l'authentification unique.

Exemple De Scénario:

  1. Un Utilisateur tente d'accéder à une ressource protégée, mais n'est pas authentifié.
  2. L'application redirige l'utilisateur vers le serveur d'authentification unique.
  3. S'être authentifié, l'utilisateur reçoit un jeton à partir du serveur d'authentification unique.
  4. La SSO redirige vers l'application d'origine.
  5. L'application d'origine vérifie le jeton contre le serveur d'authentification unique.
  6. Si le jeton est ok, l'accès sera autorisé et l'application sait de l'id d'utilisateur.
  7. L'utilisateur effectue une session et est enregistré dans toutes les applications connectées à la même époque (single sign-out).

Comme je le comprends, c'est exactement ce CAS a été inventé pour. CAS clients ont à mettre en œuvre le CAS du protocole à utiliser le service d'authentification. Maintenant, je me demandais à propos de CAS d'utilisation ou de OAuth au client (consommateur) du site. Est OAuth un remplacement pour la partie de la SAE? Devrait OAuth comme un nouveau standard de facto à privilégier? Est-il facile à utiliser (pas de Soleil OpenSSO!) remplacement pour la partie authentification de CAS à l'appui des différents méthodes comme nom d'utilisateur/mot de passe, OpenID, TLS certifactes ...?

Contexte:

  • Différentes applications devrait s'appuyer sur l'authentification du serveur d'authentification unique et utilisez quelque chose de session-comme.
  • Les applications peuvent être GUI ou les applications web (REST) services.
  • Le serveur d'authentification unique doit être de fournir une identification de l'utilisateur, ce qui est nécessaire pour obtenir plus d'informations sur l'utilisateur comme des rôles, e-mail et ainsi de suite à partir d'un centre d'utilisateur de banque d'informations.
  • Single Sign-out devrait être possible.
  • La plupart des clients sont écrites en Java ou en PHP.

Je viens de découvert WRAP, qui pourrait devenir le OAuth successeur. C'est un nouveau protocole spécifié par Microsoft, Google et Yahoo.

Additif

J'ai appris que ce Protocole n'a pas été conçu pour l'authentification de même, il pourrait être utilisé pour mettre en œuvre l'authentification unique, mais seulement avec un service d'authentification unique comme OpenID.

OpenID me semble être le "nouveau CAS". Le SATJ a certaines fonctionnalités OpenID manque (comme l'authentification unique), mais il ne devrait pas être trop dur d'ajouter les pièces manquantes dans un scénario particulier. Je pense que OpenID a une large acceptation et il est préférable d'intégrer OpenID dans des applications ou des serveurs d'application. Je sais que le TAS prend également en charge OpenID, mais je pense que TAS est pas indispensable avec OpenID.

  • Single sign-out est un anti-fonctionnalité. Toutes les études, je suis conscient de qui ont couvert ont indiqué que c'est n'importe où à partir de modérément à extrêmement déroutant pour les novices et les utilisateurs avancés. Personnellement, j'ai utiliser un système qui rend l'utilisation de l'authentification unique sur une base quotidienne, et je trouve qu'il est extrêmement irritant. Elle n'est presque jamais le comportement que je veux.
  • N'acceptez pas que le single sign-out est un antifeature. Tout dépend des applications en question. Pour les applications web qui en quelque sorte se rapportent à d'autres personnes, c'est à dire google mail et google agenda, il est logique que si vous loggout explicitement de l'un, que vous vous déconnectez de l'autre. Dans les cas avec les applications où il n'y a apparemment pas de "relation", je suis d'accord avec Bob.
  • Notez que cette question était à l'origine demandé avant OAuth 2.0 a été introduit, de sorte que l'information relative à l'authentification OAuth peut-être plus correct.
InformationsquelleAutor deamon | 2010-01-09