繁体   English   中英

如何使用ServiceStack.Net实现客户端身份验证

[英]How to implement Client Authentication with ServiceStack.Net

我正在使用servicestack.net库开发Web服务。

在我的场景中,将从WPF应用程序调用Web服务。 我需要能够验证只有经过批准的客户端应用程序才能调用我的服务。

这就像在客户端应用程序中硬编码“用户名”和“密码”一样简单吗? 这当然不是正确的方法。 有没有更好的办法?

编辑此外,在客户端,用户自己将能够使用用户名/密码登录并向服务发起请求(不确定这是否会影响任何内容,所以我想我会提到它),

有关ServiceStack中的身份验证的更多背景信息, 请参阅此问题

通常,您会对用户进行身份验证,而不是您似乎正在执行的客户端。 但是,如果您试图锁定服务,以便只能通过一组特定的客户端访问它们,那么您应该考虑将一些PKI用于您的客户端和服务器。

基本上是这样的:客户端在登录时使用加密版本的用户:密码以及嵌入在应用程序中的私钥发送额外的令牌。 服务器具有客户端公钥,因此在登录时将执行未额外验证步骤以解密用户:传递令牌并将其与经过验证的用户凭据进行比较。

如果PKI解决方案太重,那么不使用加密的替代策略可能是客户端使用秘密Guid,当他们登录时将发送Guid的MD5哈希版本和当前时间,以及未发布的版本时间。 如果时间在指定的阈值内且MD5哈希值有效,那么他们使用经过身份验证的客户端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM