2014-09-04 62 views
0

我一直在尋找這個問題,還沒有發現任何東西。如何使用nancy api和angularjs完成google oauth認證?

我想創建一個請求離線訪問google api的web應用程序,我主要關心的是我使用angular作爲前端,並且我正在使用在nancy中創建的api。

我已經能夠訪問,但只有幾個小時,但我需要用戶離線訪問應用程序,因爲它將有一個任務運行所需的時間量。

有沒有人已經完成了這個?試過嗎?經驗?我試圖調用google oauth api來請求令牌,但它返回405方法不允許。

回答

1
+0

嗨Christian,對於遲到的回覆感到抱歉。這看起來不錯,我會測試這個,星期一讓你知道。 – 2014-09-20 13:16:13

+0

版本> 0.3.14不會從Twitter和最新版本獲取AccessTokenSecret,例如,當試圖驗證用戶與谷歌時,0.6與'Nancy.Authentication.Forms'衝突 – 2016-02-22 12:31:49

0

我從來沒有用過南希。但一般來說,您的OAUTH問題應該在服務器端處理。用戶使用谷歌oauth進行驗證,谷歌oauth流程返回到後端服務器,後端服務器放棄一個密鑰,cookie或類似的東西,您的前端現在在請求中使用它。

這至少是我如何處理它。我對來自後端API的所有$ http請求使用基於令牌的方案,如果請求上沒有有效令牌,則返回401;如果有令牌,則返回403,但該令牌不授權該資源。我卡住了一個httpProvider攔截器,如果發生401,它將啓動客戶端登錄流程。

具體來說,令牌只是一個隨機生成的一系列變成十六進制的位,然後我將它作爲一個鍵存儲在redis中,其值是與此登錄關聯的user_id。

當然,所有這些都需要一個真正的https堆棧來保證安全,因爲我只是在推動純文本一次性密鑰的使用量,但這只是你可以做的所有事情。

+0

嗨@pfooti我認爲你是對的。我能夠通過服務器端處理它。 – 2014-10-08 15:20:28