Maison > Questions et réponses > le corps du texte
P粉9491909722023-08-23 18:29:31
Oui, il est possible d'utiliser OAuth2 sans URL de rappel. RFC6749 introduit plusieurs processus. Le flux implicite (maintenant obsolète[1]) et le flux de code d'autorisation(Authorization Code) nécessitent un URI de redirection. Cependant, le flux d'informations d'identification du mot de passe du propriétaire de la ressource (également obsolète[1]) n'est pas requis.
Depuis la publication de la RFC6749, d'autres spécifications ont été publiées qui ne nécessitent aucun URI de redirection :
De plus, lors de l'utilisation d'OpenID Connect, le modèle de réponse ne doit pas nécessairement être une redirection vers un paramètre redirect_uri
, mais peut être une requête POST vers ce point de terminaison. Consultez la spécification OAuth 2.0 Form POST Response Pattern pour plus de détails.
Quoi qu'il en soit, si le type d'autorisation ci-dessus ne répond pas à vos besoins, vous pouvez créer un type d'autorisation personnalisé.
[1] : Spécification OAuth 2.1 (projet 07)
P粉7138664252023-08-23 16:15:15
Pas tout à fait exact, l'intérêt du processus OAuth est que l'utilisateur (le client au nom duquel vous accédez aux données) doit vous donner la permission d'accéder à ses données.
Voir Instructions d'authentification. Vous devez envoyer l'utilisateur vers la page d'autorisation OAuth :
https://api.surveymonkey.net/oauth/authorize?api_key<your_key>&client_id=<your_client_id>&response_type=code&redirect_uri=<your_redirect_uri>
Cela montrera à l'utilisateur une page lui indiquant à quelles parties de son compte vous demandez l'accès (par exemple, consulter ses enquêtes, consulter ses réponses, etc.). Une fois que l'utilisateur a approuvé en cliquant sur « Autoriser » sur cette page, SurveyMonkey accédera automatiquement à la page que vous avez définie comme URI de redirection (assurez-vous que l'URI de redirection dans l'URL ci-dessus correspond à celui défini dans les paramètres de votre application) et reviendra au code d'autorisation.
Donc, si votre URL de redirection est https://example.com/surveymonkey/oauth
, SurveyMonkey redirigera l'utilisateur vers cette URL en utilisant le code d'autorisation :
https://example.com/surveymonkey/oauth?code=<auth_code>
Vous devrez ensuite utiliser ce code d'autorisation pour échanger le jeton d'accès en envoyant une requête POST à https://api.surveymonkey.net/oauth/token?api_key=<your_api_key>
, en fournissant les paramètres POST suivants :
client_secret=<your_secret> code=<auth_code_you_just_got> redirect_uri=<same_redirect_uri_as_before> grant_type=authorization_code
Cela renverra un jeton d'accès que vous pourrez ensuite utiliser pour accéder aux données du compte utilisateur. Vous n'avez pas besoin de donner le jeton d'accès à l'utilisateur, il vous appartient de l'utiliser pour accéder au compte utilisateur. Aucune interrogation ou autre opération requise.
Si vous accédez uniquement à votre propre compte, vous pouvez utiliser le jeton d'accès fourni dans la page des paramètres de l'application. Sinon, il n'y a aucun moyen d'obtenir des jetons d'accès pour les utilisateurs à moins que vous ne configuriez votre propre serveur de redirection (sauf si tous les utilisateurs appartiennent au même groupe, c'est-à-dire plusieurs utilisateurs sous le même compte ; mais je n'entrerai pas dans les détails). SurveyMonkey a besoin d'un endroit pour vous envoyer des codes d'autorisation, vous ne pouvez pas simplement en demander un.