2016-07-22 12 views
0

Ich habe eine Website auf Vue mit Vue-Router-Navigation, die mit Google Drive arbeiten muss. Ich habe die App einrichten, Token uri in der Konsole des Google-Entwickler und es funktioniert auf seine eigene fein:Vue-Router mit Google API

https://accounts.google.com/o/oauth2/v2/auth?response_type=token&client_id=668711006022-7igan4in4ob7ngtsmqjh8ld7j8hs5t16.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Ftwine.teivaz.com/auth&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive 

Aber wenn es um die Integration zur Navigation vue-Router kam konfrontiert ich ein Problem. es leitet mich an eine angegebene Adresse mit dem Token in url params wie diese eine Anfrage an die Google-Server ouath2 Nachdem:

http://twine.teivaz.com/auth#access_token=ya29.Ci8o1gdfpkN51F3yjAbW-v9r-JN9YD3ze5B2123rvv62KuFc5b1OgzF-9XQ&token_type=Bearer&expires_in=3600 

ich mit mehreren Lösungen kam haben:

  1. Set autorisierte umleiten URIs der vue-Router-Format passen einfach als Parameter, wie diese lesen:

    http://twine.teivaz.com/#!/login/ 
    

    Aber die google-Konsole mir nicht erlaubt zu tun, dass eine Nachricht zu geben

    Ungültige Umleitung: http://twine.teivaz.com/#!/login/ kann kein Fragment enthalten.

    enter image description here Es scheint, dass ich nicht in der Lage sein wird, in google trösten mein vue lesbarer URI aus dem ersten Ansatz einzufügen. Soll es so sein oder es ist ein Fehler in der Konsole?

  2. Capture Token von URL von der Standardseite. Aber in dem vue-Router habe ich eine Standard-Umleitung, die alle Parameter fällt:

    TwineRouter.redirect({ 
        '*': '/stories' 
    }); 
    

    Es sollte für alle url da sein ohne Parameter.

    Gibt es eine Möglichkeit, den Parameter vor dem Redirect zu parsen und das Verhalten für alle Fälle beizubehalten, wenn in den Parametern kein Token vorhanden ist?

  3. Erstellen Sie eine weitere Seite, die das Token einfach in Cookies speichert und zum Index weiterleitet. Und legen Sie es in der Google-Konsole nach oben:

    http://twine.teivaz.com/login.html 
    

    Es scheint, dass diese Option ein schlechtes Design, aber es könnte tatsächlich funktionieren. Ist es die beste Option unter gegeben? Gibt es etwas, was ich vermisst habe?

Antwort