簡體   English   中英

如果未登錄,則為服務器端重定向

[英]Server-side redirect if not logged in

我使用Cloud Endpoints並使用客戶端oauth訪問我的后端。 這樣可以正常工作,除了它意味着我只能在整個頁面和附加的腳本加載並且oauth請求完成后才能檢查打到我的應用程序URL的人是否是用戶。

我想啟用服務器端身份驗證,以便為登錄頁面和我的應用程序使用相同的URL,如果用戶是用戶,則將用戶重定向到應用程序,如果不是,則將用戶重定向到登錄頁面。

問題是User Tutorial使用UserService進行身份驗證,而Cloud Endpoints使用OAuth服務 我無法弄清楚如何在我的重定向過濾器中使用OAuth,因為上面鏈接的OAuth部分的所有鏈接都是針對OAuth 1的,並且已棄用

如何檢查我的重定向過濾器是否訪問的用戶是否是用戶並同時獲得一個令牌,如果她是用戶,我可以使用該令牌隨后呼叫我的端點?

我正在使用Google Api JS客戶端來調用雲端點,因此解決方案將與其進行最佳集成,使用gapi.auth.setToken(token)檢索令牌並繞過整個gapi.auth.authorize(params, callback)舞蹈。

您可以為登錄流提供自定義servlet實現,您可以通過提供新流來獲取oauth-token,然后驗證該訪問令牌以授予受保護資源的授權。

Google 在此提供了很好的參考文檔,您可以使用示例代碼庫進行參考。

您可以將用戶API用於端點,如果不符合您的需求,則無需使用OAuth。 您只需要將com.google.appengine.api.users.User類型的參數添加到您的終端。 如前所述這里

例如:

 @ApiMethod(name = "scores.insert")
    public Score insert(Score score, User user) throws OAuthRequestException, IOException {
      //Check if user is null
      //Do your thing

    }

暫無
暫無

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

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