Messieurs,

Je vais essayer de décrire mon besoin et mon environnement.

Il y a 2 machines physiques (A et B) qui hébergent chacune une application (IHM, Service et BDD).
A le client au sens "Application cliente" et pas "Couche IHM d'une application"
B le serveur de ressource sollicité via des appels Service Rest par A.

Le challenge est d'autoriser l'accès à B que si le client s'est préalablement authentifié.
Il me semble que Spring Security permet de prendre en charge cette partie gestion d'authentification.
Ensuite Spring OAuth2 intervient parce que l'authentification peut se faire de 2 façons différentes : soit par login/mdp sur la machine B soit via twitter.
Une authentification via twitter valide l'accès au serveur B.

Détail machine B :
Elle contient une application divisée en 3 modules : un module webapp (IHM+Service+BDD), un module Web Service (qui défini des méthodes correspondantes aux ressources protégées par authentification préalable), un module d'authentification (que je dois créer et implémenter)
Donc le module webapp interroge les Web service.

Question conceptuelle :

J'imagine le scénario suivant (merci de valider) :
Un client sur la machine A clique sur un lien de son application.
Ce lien pointe vers une ressource protégée (en clair, il s'agit d'un Web Service sur la machine B appelé).
Comme le WS est protégé, il contrôle l'authentification : si authentifié pas de pb, sinon redirigé vers le module d'authentification.
J'imagine alors alors mettre en place un module d'authentification de l'application sur la machine B.
Ce module permettra via une page type JSP de se loguer via login/mdp ou bien via twitter (au choix). Le check du login/mdp sera fait avec la BDD du module.
Si l'authentification est OK, redirection vers le WS demandé qui cette fois pourra s’exécuter.

Pour une authentification via twitter, le module d'authentification devra valider le token fourni.
Pour une authentification via login/mdp, le module d'authentification devra générer un token.
Après authentification, ce token sera conservé pour toutes les futures requêtes.

Cette conception/découpage en module d'authentification est-elle ok ?
Le WS appelé, pourra-t-il dire, en cas d'absence de token, de se loger à une autre URL (mapper par le module d'authentification) qui implique une redirection sur la JSP de connexion, qui une fois connecté, le module d'authentification redirige directement vers l'appel initial au WS ?

Bref, je suis en phase de conception plutôt qu'implémentation pour l'instant....
J'ai pu voir les exemples de Spring OAuth (Sparklr et tonr).
Le souci, c'est qu"ils ont découpé l'exemple en 2 parties seulement (le client (=machine A) et la ressource protégée (= WS)).
Je dois intégrer mon module d'authentification en plus moi (fournisseur de token), du coup la conf de spring security OAuth2 devrait changer par rapport à l'exemple non ?

Merci