2015-11-26 31 views
0

我正在嘗試登錄新用戶,但我遇到了一些問題。 我已經創建了管理員角色,管理員用戶,RoleMapping和Principal。當我嘗試使用命令回送角度sdk登錄錯誤

User.login({"email":"email","password":"password"}) 

我收到登錄

lb-ng ../server/server.js js/lb-services.js 

POST http://localhost:3000/users/login?include=user 404 (Not Found) 

什麼是查詢字符串,我已經建立使用下面的命令的客戶服務參數?include=user?

我試過用PostMan登錄,一切正常LY。 我做錯了什麼?

在此先感謝。

+0

正確的url將是'http:// localhost:3000/api/users/login?include = user' –

+0

如果我用郵差發送請求,我使用的URL是 http:// localhost:3000/API /用戶/登錄。 爲什麼我找到 http:// localhost:3000/users/login?include 作爲URL? –

回答

1

下午好,它似乎有點舊帖子,但我有這個相同的問題,並找到了解決辦法。

如果我們檢查由LB-NG的登錄功能生成的文件也指出:

  • 登錄與用戶名/電子郵件和密碼的用戶。 * * @param {Object =}參數請求參數。 * * - include - {string=} - 要包含在響應中的相關對象。有關更多詳細信息,請參閱返回值的說明。 *默認值:user

如果我們檢查返回值的描述:

* The response body contains properties of the AccessToken >created on login. 
    * Depending on the value of `include` parameter, the body may contain additional properties: 
    * 
    * - `user` - `{User}` - Data of the currently logged in user. (`include=user`) 

所以包括=用戶似乎添加到響應與用戶登錄數據性質的性質稱爲「用戶」在這種情況下,但你可以改變屬性的名字,無論你想要什麼。

在我的情況下,解決方案是按照羅賓斯的答案,並更改默認服務器。看起來lb-ng解決方案創建代碼來將API調用查看到運行客戶端的服務器上。如果您使用另一臺服務器,你必須改變的app.config這樣,在回送文件指出:

angular.module( '我的應用程序內模塊') 的.config(函數(LoopBackResourceProvider){

//使用自定義身份驗證頭,而不是默認的「授權」 LoopBackResourceProvider.setAuthHeader(「X-訪問令牌」);

//改變地方進行訪問迴環REST API服務器 LoopBackResourceProvider的URL。setUrlBase('http://api.example.com/'); });

如果您需要更改,請設置標題行,但必須使用第二行更改'http://api.example.com'與您用於爲REST API提供服務的服務器。

(希望這有助於任何人有這個問題)。