1

Certains sites Google comme api exploer utiliser un mixed scheme au lieu de rediriger vers un uri où un événement PostMessage est déclenchée par une fonction de rappel de la fenêtre d'ouverture qui est reçu par la fenêtre d'ouverture (si window.location.origin est différent de window.origin mais je ne comprendre comment).Comment utiliser le système d'URL de redirection postmessage de Google?

Je n'ai pas pu trouver de documentation à ce sujet, mais j'ai peut-être mal cherché.
Le principal avantage semble être qu'il n'est pas nécessaire d'enregistrer les jetons côté serveur car tout se passe via JavaScript.

Here’s <a href='javascript:window.open("https://accounts.google.com/o/oauth2/auth?client_id=292824132082.apps.googleusercontent.com&immediate=false&scope=https://www.googleapis.com/auth/userinfo.email&include_granted_scopes=false&proxy=oauth2relay604084667&redirect_uri=postmessage&origin=https://apis-explorer.appspot.com&response_type=token&gsiwebsdk=1&state=657454173|0.195379257&authuser=0&jsh=m;/_/scs/apps-static/_/js/k");'>an example script link</a> that will trigger a Domexception if not opened from https://apis-explorer.appspot.com/

De plus, http://accounts.google.com/o/oauth2/auth accès window.opener les éléments de l'enfant si window.opener.origin correspondance le paramètre d'origine donné dans l'url et donc sans passer par sop (mais je ne comprends pas comment puisque aucun en-tête Acess contrôle-Allow- * sont utilisé). Sinon, une exception est déclenchée.

Alors, quelle est l'API JavaScript pour effectuer l'authentification oauth2 avec postmessage? Quel est le but du paramètre url proxy=?

Répondre

0

Deux options:

  1. Vous pouvez utiliser le javascript pour Google sign-in api pour demander des étendues supplémentaires. Voir la reference docs

  2. Vous pouvez utiliser OAuth2 for javascript

+0

belle, mais je le savais. Comment utiliser ces API pour l'authentification sans restrictions de serveur. – user2284570

+0

Peut-être plus facile si vous expliquez ce que vous essayez de faire. Quelles sont les restrictions de serveur que vous utilisez? – nvnagr

+0

J'essaie de comprendre comment fonctionne ce Meachanisme. J'ai donc besoin de le reproduire car étudier l'api explorer ne suffit plus. – user2284570