2016-02-27 60 views
2

想與其他可能處理相同問題的人分享此信息。如果您使用的是天藍色的移動應用程序cordova客戶端(https://github.com/Azure/azure-mobile-apps-cordova-client),您會注意到不支持內置SignalR。使用帶信號的Azure移動應用程序cordova客戶端R

我正在使用WebAPI的內置SignalR支持,它會生成您的SignalR JavaScript代理文件你使用。但是,當您爲您的API進行身份驗證設置時,該代理(或通常的signalR調用)將不起作用。您可能想要在您已經獲得移動服務客戶端時阻止爲SignalR建立單獨的身份驗證設置。

回答

2

所以你做的是以下幾點:

一旦登錄到移動服務,重新使用X-謨-AUTH和X-謨-VERSION標題是這樣的:

var token = mobileServiceClient.currentUser.mobileServiceAuthenticationToken; 
var version = mobileServiceClient.version; 

var headers = { 
    "X-ZUMO-AUTH": token, 
    "X-ZUMO-VERSION": version 
}; 

$.signalR.ajaxDefaults.headers = headers; 

的signalR代理現在將請求發送到您的WebAPI端點時將重新使用這些標頭。這將意味着請求現在使用移動應用程序客戶端爲您檢索的相同標記進行身份驗證。

請注意:我還沒有找到當令牌過期或刷新時發生的情況。我建議在每次成功登錄請求後重置標題。

相關問題