2017-04-04 152 views
1

我正在設置一個微服務應用程序,其中每個微服務是一個獨立的回送應用程序,其中一個微服務是用於保存用戶帳戶和accessToken模型的網關。所有其他微服務都應該查詢網關是否需要驗證AccessToken。loopback如何自定義身份驗證

如果啓用身份驗證我明白回送做一個AccessToken.findByid初始化AccessContext與令牌信息,所以我們可以授權請求。 在我的情況下,回送的應用程序不擁有的accessToken模型和預期的失敗與以下錯誤:

{ "error": { 
     "statusCode": 500, 
     "name": "Error", 
     "message": "Cannot call AccessToken.findById(). The findById method has not been setup. The PersistedModel has not been correctly attached to a DataSource!", 
} 

我的問題是:什麼是重寫的accessToken查找,使其查詢網關微服務的最佳方式代替?

回答

1

在每個微服務中,您需要將AccessToken傳遞給網關數據庫。試試這樣:

app.loopback.AccessToken.attachTo(app.datasources.db); // db <-- gateway dataSource 
app.model(app.loopback.AccessToken);