2017-05-02 27 views
0

我有使用servicestack作爲後端API目前植入來驗證用戶發送來自客戶端的純文本服務器 然後驗證用戶的身份,我需要在這裏拖東西 第一個是有Xamrine應用一種方法使用servicestack.clientservicestack客戶認證encript密碼

public override void Configure(Container container) 
{ 
    Plugins.Add(new AuthFeature(() => new AuthUserSession(), 
     new IAuthProvider[] { 
     new BasicAuthProvider(), 
     new CredentialsAuthProvider(),credentials 
     })); 

    Plugins.Add(new RegistrationFeature()); 

    container.Register<ICacheClient>(new MemoryCacheClient()); 
    var userRep = new InMemoryAuthRepository(); 
    container.Register<IUserAuthRepository>(userRep); 

} 

第二件事登錄它的自我加密客戶端上的密碼,當用戶登錄其生成我不能在移動應用程序使用Cookie,這樣如何能夠使用戶在使用servicestack應用程序,而不登錄每次感謝所有

回答

0

確保您的密碼(以及其他所有內容)得到加密發送的標準方法是使用SSL配置您的後端服務,以便所有流量都通過https發送。

另一種方法是使用ServiceStack的Encrypted Messaging feature

爲了填充你的服務客戶端與會話ID,您可以從經過身份驗證的服務客戶端保存的cookie:

var ssId = client.GetSessionId(); 
var sspId = client.GetPermanentSessionId(); //If RememberMe=true 

後來與它附加上一個新的服務客戶:

client.SetSessionId(ssId); 
client.SetPermanentSessionId(sspId); 
+0

我們正在與政府客戶端合作,我們已經在使用SSL,但看起來還不夠, ,因爲密碼仍然是從客戶端發送到服務器的明文,這使得任何人都可以通過物理訪問移動客戶端來添加代理來獲取設備reque例如通過提琴手。 我只需要加密密碼,並在服務器上解密它,而不使用「加密消息」,因爲它有一些複雜性。 –

+0

@moathnaji如果您使用的是SSL/HTTPS,則根據定義它不會以明文形式發送,並且沒有SSL證書的人將無法讀取流量。這是加密HTTP流量的完善標準,因此我建議您調查一下正確配置它,而不是尋找特定的定製解決方案 – mythz