11
votes

Exemples en temps réel pour les types de subventions OAuth2 et bon document, exemple pour OAuth2 avec Spring MVC

J'ai déjà lu Oauth2 quelques jours auparavant, il a des entités comme le client, le propriétaire de ressources, le serveur de ressources, le serveur d'autorisation et j'ai également compris les explications. Mais je ne comprends pas que le type de subvention est complètement toujours confus sur des types suivants. Oauth2 a 4 types de subventions différents comme,

  1. Code d'autorisation
  2. impliquer
  3. Critiques de mot de passe du propriétaire de ressources
  4. Critiques clientes

    S'il vous plaît, donnez-moi des exemples de temps réel pour les types ci-dessus pour différencier la mise en œuvre. J'ai besoin de savoir que quels sont les types de sécurité de la subvention Security Spring Spring Security OAuth2 et plein débit pour le printemps OAuth2 avec sécurité.

    J'ai parcouru un exemple implémenté avec Oauth2 avec Spring MVC, Sécurité du ressort. Mais cela me confondre je ne comprends pas la photo claire de la mise en œuvre de l'API.

    Je cherche un bon débit et un document OAuth2 avec Spring MVC et Security Spring. S'il vous plaît aidez-moi.


0 commentaires

3 Réponses :


1
votes

Je suis également arrivé à Oauth2 en utilisant le printemps le mois dernier.

J'ai lu la plupart des OAUTH2 SPEC et utilisé le échantillons de la source de sécurité printanière , qui sont merveilleux. De cette façon, j'ai eu une application en cours d'exécution que je pourrais utiliser pour jouer avec et voir ses sources suivantes les spécifications.


0 commentaires

13
votes

En ce qui concerne la compréhension des flux et les différences entre eux, cette présentation est la meilleure I ressource trouvé en ligne. Après cela, si vous lisez la description OAuth2, ce sera beaucoup plus facile à suivre.

Malheureusement, en termes d'exemples de code, il n'y a pas du bon code OAuth2 Spring Security exemple là-bas (les exemples Sparklr et TONR sont bien mais pas super clair). Meilleure, il est de regarder les tests unitaires dans le code de sécurité Spring OAuth2 sur github .

Une question que je veux poser est - Vous cherchez à créer votre propre fournisseur oauth2 ou voulez-vous juste pour se connecter à Facebook, Google, etc en tant que client OAuth2. Si elle est la deuxième partie, je suggère de sauter Spring Security OAuth2 et au lieu regarder printemps projet social .

Edit: Pour créer un fournisseur OAuth2, consultez ce code par Dave Syer (il est le chef de file du projet OAuth Spring Security). Il montre comment vous pouvez créer un fournisseur OAuth2 et de ressources du serveur dans 20 lignes de code. Ceci est la meilleure façon de créer un code de sécurité Spring OAuth. https://github.com/dsyer/sparklr-boot

Il utilise des projets de démarrage Spring et Spring Security OAuth. Bien sûr, vous devez comprendre Spring Security, la configuration JavaConfig et le protocole OAuth2 correctement pour comprendre comment tout cela fonctionne.


7 commentaires

Je veux créer un fournisseur OAuth2 pour mon Spring MVC.


Les exemples de la diapositive sont complètement erronés. L'auteur de la présentation confuse des terminologies par exemple client avec le serveur d'autorisations et le propriétaire de ressources) Le propriétaire de la ressource ne donne jamais de jetons d'accès.


@VDEV Avez-vous un numéro de diaposidification que vous parlez de? J'ai regardé et toutes les diapositives me ressemblent.


@Jigish Jetez un coup d'œil aux diapositives 29 à 37, avec 37 consolider tout le flux. Le propriétaire de la ressource ne subit jamais jamais le code d'autorisation, c'est le serveur d'autorisation. Par exemple, si je (le propriétaire de la ressource) veut vous connecter à Stackoverflow (le client) à l'aide de mon compte Google (le serveur d'authentification). I (le propriétaire de la ressource) Grant Stack Oveflow (le client) Accédez à mon compte Google (Serveur de ressources si hébergé séparément) via le serveur d'authentification de Google. Je ne suis pas assis et ne générant pas de codes d'authentification. C'est le serveur d'autorisation.


@Jigish Regardez à la place des spécifications OAuth, qui explique très succinctement le flux entier avec la terminologie appropriée: Outils.ietf.org/html/RFC6749#Section-1.3.1


@Vdev pour quelqu'un qui cherche à comprendre les spécifications OAuth2 et les flux différents pour la toute première fois, les diapositives sont une meilleure introduction. Comme je l'ai mentionné, lisez la spécification après avoir examiné ces diapositives. Il est beaucoup plus facile de comprendre visuellement le flux. Personnellement, je ne crois pas que les diapositives ont des erreurs. Cela dit, à chacun le sien.


@Jigish Vous pouvez consulter ce projet, il contient des exemples pour les cas différents pour la chaussure à ressort. Github.com/packpublishing/oauthe-2.0-Cookbook



2
votes

Le code d'autorisation est le flux basé sur la redirection, dans la plupart des applications lorsque nous nous connectons via Facebook ou Google, nous utilisons ce type de subvention.

Implicity est utilisé principalement dans l'application mobile ou à la page unique, la confidentialité du client n'est pas garantie ici. Cela a également un flux de redirection similaire au code d'autorisation. Cela ne prend pas en charge le jeton d'actualisation.

Le type de subvention de mot de passe est utilisé lorsque l'application client et le propriétaire de la ressource appartiennent à la même application, il s'agit d'un cas où votre application est terminée pour finir de fonctionner. Nous partageons ici le nom d'utilisateur et le mot de passe. Contrairement aux deux ci-dessus où nous vous authentifions via Facebook ou Google.

Critiques clients: c'est un moyen d'accéder à son propre service. comme un microservice pour accéder à un autre microservice.


0 commentaires