2015-11-19 2 views
1

J'ai un service Web pour lequel l'authentification de l'utilisateur est fournie par la méthode d'authentification Single Sign-On du navigateur Web, à travers laquelle un utilisateur humain est automatiquement connecté avec son adresse e-mail d'entreprise à partir d'un navigateur Web.Client Jersey pour l'accès aux services Web ayant une authentification Single Sign-On [webSSO/SSO]?

J'ai écrit un client java Jersey 2.x (un consommateur non humain de service web). Dans le code client J'utilise httpauth comme

HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic("ENTER_USERNAME_HERE", "PASSWORD_HERE"); 

Mais le client ne parvient en indiquant le code d'état HTTP 302 (erreur de redirection) J'ai ensuite utilisé boucle pour la même et a reçu la réponse comme une page HTML indiquant Le document est déplacé ici (< - un lien contenant websso url à ma ressource). Après la recherche sur SO J'activé la fonction de FollowsRedirection pour mon client de maillot et maintenant l'erreur est changé pour

Exception in thread "main" javax.ws.rs.NotAuthorizedException: HTTP 401 Unauthorized 

Tout pointeur sur la façon de traiter ce problème d'authentification?

Répondre

2

La question a finalement été résolu, donc je vais répondre à ma propre question,

Après tout Rnd, il était clair qu'il n'y a aucun moyen sophistiqué pour le passage (Authentifier) ​​sur le système d'authentification unique (Single Sign-On) à partir du code client jeresy 2.x. Bien que j'ai trouvé quelques articles intéressants concernant kerberoshere et here.

Alors, enfin j'ai créé un autre chemin d'URL comme
/AuthWithCert CONTEXTE dans la configuration de serveur proxy et a ajouté les demandes provenant de cette voie comme une exclusion WebSSO connexion conf. Donc automatiquement l'authentification a été pointée par défaut (HttpBasic Client Auth) sans aucune erreur de redirection et le client a bien fonctionné.