Google OAuth2 Sign-in mit AngularJS Rückruf

Referenz, hier ist die Google+ flow, ich arbeite mit:

https://developers.google.com/+/web/signin/server-side-flow

  1. Benutzer klickt auf sign-in button. Die Autorisierungs-Anfrage an die Google-OAuth-Server
  2. OAuth-dialog ausgelöst wird, für den Benutzer
  3. access_token, id_token, und ein one-time-code zurückgegeben
  4. Client sendet id_token und den code zum server
  5. Server-Börsen die one-time-code für access_token
  6. Google gibt access_token
  7. Server bestätigen sollten "vollständig protokolliert im" Client

Ich habe bereits das meist funktioniert, aber ich würde wie AngularJS, zu wissen, wenn der client "vollständig angemeldet" bei Schritt 7.

Im Idealfall würde ich wie bei Schritt 3 behandelt werden, indem Sie einen AngularJS Controller, aber ich bin mir nicht sicher, ob das möglich ist.

Den sign-in button ist hier:

https://developers.google.com/+/web/signin/server-side-flow#step_4_add_the_sign-in_button_to_your_page

<!-- Add where you want your sign-in button to render -->
<div id="signinButton">
  <span class="g-signin"
    data-scope="https://www.googleapis.com/auth/plus.login"
    data-clientid="YOUR_CLIENT_ID"
    data-redirecturi="postmessage"
    data-accesstype="offline"
    data-cookiepolicy="single_host_origin"
    data-callback="signInCallback">
  </span>
</div>
<div id="result"></div>

Daten-callback-parameter ermöglicht es mir, um eine Funktion anzugeben, aber ich kann nur erhalten Sie die Arbeit auf Globale Funktionen.

Den einzigen work-around den ich denken kann, ist für AngularJS ständig den server abfragt, für die updates nur im Fall, dass ein Benutzer sich anmeldet, aber ich Frage mich, ob es war ein Weg, um diese Arbeit innerhalb der event-Struktur, so dass es alle sofort.

Ob dies möglich ist oder nicht, ich würde mich sehr über einen Rat, wie ich gehen sollte, über diese. Bitte lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben. Danke!

Schreibe einen Kommentar