我正在構建一個Web應用程序,在前端使用AngularJS,在服務器端使用Flask使用Python。我試圖按照google developers site上提供的文檔實現OpenID/OAuth登錄功能。我首先構建了服務器端代碼(在使用Postman進行測試時一切正常),並開始在前端工作。現在,我有一種感覺,那就是我加入這個功能的設計非常糟糕。下面是我面臨的問題:設計:使用AngularJS和Flask的Google OAuth
繼谷歌OAuth的文檔,我已經安裝在我的服務器端有些流是這樣的:
gAuth: 這是我的瓶的應用程序的功能會被調用當用戶點擊Google登錄按鈕時,通過來自Angular的GET請求。
它向Google授權端點發送GET請求以獲取授權碼。對此請求的回覆中有一個文本字段,其中包含一個顯示Google登錄頁面的HTML代碼。我將這個返回給Angular(因爲這是從這個函數被調用的地方)。然後Angular在瀏覽器上呈現這些信息,以供用戶輸入憑據。一旦用戶輸入憑證並授權我的應用程序,Google就會使用GET請求將驗證碼發送到我的應用程序requestToken中的另一個功能,因爲那是我用於Google OAuth的redirect_URI。此時,我完全被Angular截斷了。現在,requestToken使用授權碼向Google的令牌端點發送POST請求,以便將其交換爲id_token。現在requestToken具有id_token,並執行它應該做的事情。
我從requestToken函數返回'1'的值,但是這是谷歌代碼,因爲這是requestToken的請求來自的地方。
現在,問題是我怎麼讓前端知道一切正常與OAuth和用戶必須重定向到主頁。我想讓requestToken的返回值轉到Angular。我想問問這是否可能,但我的常識說這是不可能的。但是,我想知道是否有方法可以將請求從Flask發送到Angular。任何幫助深表感謝。