2016-08-29 21 views
1

我剛剛創建了一個環迴應用程序,並擴展了用於用戶驗證/授權的User模型。如何驗證/授權環回中的快速路由

我試圖檢查用戶是否正在從我的快遞航線登錄或沒有,所以我可以,如果用戶沒有登錄用戶重定向到/login

到目前爲止,似乎只有迴環認證/授權各暴露的模型方法如/user/update。我無法找到任何有關如何獲得環回來驗證/授權我定義的快速路線的任何信息。

在此先感謝

回答

1

這裏的東西,我不是在環回很不錯,但我知道一點關於Expressjs。

明確表示,如果您想進行身份驗證,您可以使用您自己的中間件,並在其他路由處理請求之前使用它。

您可能想要將express-session視爲登錄狀態存儲。

當日志中:

route.post('/login',function(req,res,next){ 
    //login here 
    req.session.user = user 
}) 

和你自己的中間件:

function auth(req,res,next){ 
    if(!req.session.user){ 
    res.redirect('/login') 
    } 
} 

https://github.com/expressjs/session

+0

你能找到解決方案嗎? – Aswin

0

爲了使一個環回的應用程序,你需要爲快速路由認證和授權請執行以下操作:

  1. 初始化回送令牌中間件使用cookie
  2. 將簽署ACCESS_TOKEN餅乾已進行登錄
  3. 添加中間件存儲請求上下文後(啓用步驟4 - 6以下)
  4. 加入中間件,以確定請求用戶和存儲用戶信息的請求上下文
  5. 添加中間件所選擇的路線
  6. 添加登錄執法中間件調用所需
,以快速路啓用登錄執法

如果這看起來溫和可怕,不要害怕,因爲有人寫了這一個真棒博客文章,並提供了示例代碼爲以上所有中間件:

Tokens, Sessions and Users, oh my!

注意事項:

  • 如果您希望會話持續存在,請確保將LoopBack的AccessToken模型配置爲使用內存以外的數據存儲。請參閱此處獲取更多信息:Allow loopback application to use previous access token

  • 在博客文章中實現的請求上下文中間件不能用作持久性會話存儲(即只有令牌存在),其餘部分是短暫的。