簡體   English   中英

Google OAuth2使用AngularJS回調登錄

[英]Google OAuth2 Sign-in with AngularJS callback

作為參考,以下是我正在使用的Google+信息流:

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

  1. 用戶單擊登錄按鈕。 授權請求將發送到Google的OAuth服務器
  2. 為用戶觸發OAuth對話框
  3. 返回access_token,id_token和一次性代碼
  4. 客戶端將id_token和代碼發送到服務器
  5. 服務器為access_token交換一次性代碼
  6. Google返回access_token
  7. 服務器應確認“完全登錄”到客戶端

我已經有了這個大部分工作,但我希望AngularJS知道客戶端在步驟7“完全登錄”的時間。

理想情況下,我希望第3步由AngularJS控制器處理,但我不確定這是否可行。

登錄按鈕位於:

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>

data-callback參數允許我指定一個函數,但我只能讓它來處理全局函數。

我能想到的唯一解決方法是讓AngularJS不斷輪詢服務器以獲取更新,以防萬一用戶登錄,但我想知道是否有辦法在事件結構中使這項工作成為現在。

無論這是否可能,我將非常感謝任何關於我應該怎么做的建議。 請讓我知道,如果你有任何問題。 謝謝!

經過一番搜索,我終於找到了我需要的東西:

https://developers.google.com/+/web/signin/#javascript_api

我無法使用數據屬性來完成我需要的工作。 我需要使用javascript API手動渲染按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM