2017-05-04 79 views
0

我試圖從前端發送所有查詢以使用訪問令牌回送。我正在爲angular2使用loopback sdk構建器。Loopback - Angular2將accessToken添加到請求

用戶登錄後,環回會返回訪問令牌。我使用上面的功能追加的訪問令牌請求頭

LoopBackConfig.setAuthPrefix(this.user.accessToken); 

之後,所有的請求頭有一個這樣的特性:

authorization: Wl3P7ysrfu1tq2gcljezdZRDHH... 

我已經加入‘環回#令牌’:{ }到「initial:before」:in middleware.json

但是,仍然req.accessToken爲null。難道我做錯了什麼?

我還有一個問題。訪問令牌是否在頭部?在回送文檔中,訪問令牌位於查詢參數中。有什麼方法可以將訪問令牌添加到默認由loopback sdk builder創建的服務?

回答

1

添加此行解決了我認爲的問題。現在

app.use(loopback.token()); 

,AccessToken.findForRequest由每個請求調用。如果在標題,cookie或url中存在訪問令牌,則會創建req.accessToken。

在前端,我使用LoopBackConfig.setAuthPrefix函數將訪問令牌放入標頭。對於EventSource請求,(因爲它沒有設置請求頭的api),我將訪問令牌添加到url。

let source = new EventSource("/route/event?access_token=" + self.auth.getToken().id); 

如果您通過這些方法發送access_token,則應使用https來避免安全性泄漏。