servicestack客户端身份验证encript密码

时间:2017-05-02 13:05:26

标签: c# .net api servicestack

我有Xamrine应用程序使用servicestack作为后端api当前植入来验证从客户端向服务器发送纯文本的用户 然后验证用户,我需要在这里拖东西 第一种方法是使用servicestack.client加密客户端密码

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应用程序 谢谢所有

1 个答案:

答案 0 :(得分: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);