/ / OAuth2 type de subvention pour mon API d'application web - api, rest, oauth, oauth-2.0, apigility

Type de subvention OAuth2 pour l'API de mon application Web - api, repos, oauth, oauth-2.0, apigility

Je travaille sur une API pour mon application Web qui peut fournir des données JSON brutes pour que mes utilisateurs puissent les utiliser comme ils le souhaitent. J'utilise Apigility qui vient avec une implémentation OAuth2.

J'aimerais que mes utilisateurs visitent un écran de mon application pourobtenir les informations d'identification qui leur sont attribuées, puis les utiliser pour consommer l'API. Dois-je créer un client_id pour chaque utilisateur ou peuvent-ils tous partager le même client et utiliser des noms d'utilisateur / mots de passe différents?

Je ne sais pas non plus quel type de subvention seraitle plus applicable. Puisqu'aucune tierce partie n'est impliquée, il semble que le type d'accord "mot de passe" soit suffisant; mais je dois encore fournir le "client_id" et "client_secret" dans les en-têtes de la demande?

Quelle est la meilleure façon de fournir des informations d'identification et d'authentifier les utilisateurs sur une API RESTful alors qu'ils ne les consommeront eux-mêmes?

Merci d'avance.

Réponses:

1 pour la réponse № 1

Vous pouvez utiliser la subvention des informations d'identification du mot de passe du propriétaire de la ressource pour les raisons que vous mentionnez. Votre application n'aurait besoin que d'un seul client_id et client_secret pour gérer différents utilisateurs / mots de passe.

Vous fournirez ces valeurs (client_id, client_secret, username, password) dans le cadre des paramètres HTTP POST de la demande au point de terminaison du jeton et récupérer un jeton d'accès que vous utiliseriez dans les en-têtes par rapport à l'API.