REST API d'authentification avec SAML

J'ai du mal à concevoir un grâce à saml2!.0 authentification pour une API REST à l'aide d'une passerelle. RESTE est utilisé entre mon serveur et mon application. Je suis à l'aide de Java filtre de Servlet et de Printemps.

Je vois deux possibilités:

  1. Ajouter les jetons SAML dans l'en-tête à chaque fois.
  2. Authentifier une fois avec SAML, puis à l'aide d'une session ou similaire (conversation sécurisée) entre le client et la passerelle.

Cas 1: C'est une bonne solution parce que nous sommes toujours Reposante mais:

  • Les jetons SAML sont assez grandes. C'est peut être produite problème dû à la grande taille de tête.
  • La relecture de jetons n'est pas la meilleure façon pour un problème de sécurité.

Cas 2: C'est pas plus apatrides et j'ai géré un lien avec le client. Depuis que j'ai utiliser une passerelle, les services sous-jacents peuvent encore être de tout repos.

Cas 2 recherche le meilleur choix malgré le fait qu'elle ne suit pas le reste les contraintes.

Est quelqu'un avait déjà de le faire et de me donner quelques conseils (pour la conception ou la mise en œuvre)?

Est-il une meilleure façon de le faire avec SAML?

Toute aide ou conseils sont les bienvenus.

L'utilisation de la deuxième approche. De nombreux fournisseurs de services de rejeter relus les jetons quand même. Est-ce pour authentifier les utilisateurs ou votre logiciel client?
C'est pour authentifier les utilisateurs
Vous pouvez également jeter un oeil à l'aide de OAuth2 pour la même si vous êtes ouvert à ont SAML suppléant.
Il n'y a pas une telle chose comme un jeton SAML. Vouliez-vous dire de mettre l'Assertion SAML dans un en-tête d'Autorisation? Parce qu'une assertion SAML ne peuvent être consommés une fois, car il a un ID unique (pour éviter les attaques de relecture). Aussi, chaque assertion SAML généralement n'a qu'une petite fenêtre de temps dans laquelle elle est valable (généralement de quelques minutes).

OriginalL'auteur Nereis | 2013-10-18