2017-08-29 2 views
1

Je suis nouveau à Yii2. Je veux implémenter Oauth2 avec le type de subvention des informations d'identification du propriétaire de ressource dans Yii2.Implémentation d'Oauth2 dans Yii2

Pour cela, je trouve cette bibliothèque spécifique Yii2:

https://github.com/Filsh/yii2-oauth2-server

Mais la documentation est pauvre et ne montre pas de mesures précises pour l'utiliser.

Jusqu'à présent, je l'ai fait:

1) Installer le paquet à l'aide compositeur

2) configuration du module Ajout dans common/config/main.php

Maintenant, je suis en train confus pour les prochaines étapes.

Il est dit de créer une classe appelée "PublicKeyStorage". Est-ce vraiment nécessaire ou facultatif? Si oui, où puis-je créer ce fichier? Ai-je besoin de créer un fichier privkey.pem et un fichier pubkey.pem manuellement? Si oui, quel contenu devraient-ils avoir?

Ensuite, il est dit d'étendre le modèle common\models\User. Alors, où dois-je créer ce fichier? En frontend/modèles?

3) Ensuite, il est indiqué d'exécuter la migration de paquet qui est claire.

4) Ensuite, il est indiqué de définir les URL, ce qui est également clair.

5) Ensuite, il est indiqué de régler le contrôleur, je crois que c'est pour vérifier le jeton entrant. Ai-je raison?

La dernière question que j'ai est de savoir quelles URL dois-je atteindre pour obtenir le jeton d'accès? Est-ce /oauth2/token?

+0

Salut, les clés publiques et privées sont pour jeton JWT si vous voulez utiliser seulement access_token que vous ne avez pas besoin de le faire, dans yii2 modèle avancé commun/modèles/fichier modèle utilisateur est déjà si vous pouvez utiliser ce que vous pouvez sinon vous pouvez créer votre propre fichier de modèle dans frontend/models après que vous devez changer identifyClass dans votre fichier config/main.php 'identityClass' => 'common \ models \ User', –

+0

Quelle URL devrais-je utiliser pour obtenir le jeton? http: // localhost/yii2_advanced_api/frontend/web/oauth2/jeton? –

Répondre

0

Si vous souhaitez obtenir JSON Token Web (JWT) au lieu du jeton classique, vous devez définir 'useJwtToken' => true dans le module puis définir deux configurations: 'public_key' => 'app\storage\PublicKeyStorage' qui est la classe qui implémente PublickKeyInterface et 'access_token' => 'app\storage\JwtAccessToken' qui implémente JwtAccessTokenInterface.php.

5) Ensuite, il est indiqué de régler le contrôleur, je crois que c'est pour vérifier le jeton entrant. Ai-je raison?

A) Oui