gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 15:06:30 24 4
gpt4 key购买 nike

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

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

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

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

最佳答案

有关 ServiceStack 中身份验证的更多背景信息 see this question .

通常你会验证用户而不是你似乎正在做的客户端。但是,如果您试图锁定服务,以便只能通过一组特定的客户端访问它们,您应该考虑在您的客户端和服务器中使用一些 PKI。

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

如果 PKI 解决方案过于繁重,则不使用加密的替代策略可能是让客户端附带一个 secret Guid,当他们登录时,它将发送 Guid 的 MD5 哈希版本和当前时间,以及时间的未散列版本。如果时间在指定的阈值内并且 MD5 哈希有效,则他们使用经过身份验证的客户端。

关于c# - 如何使用 ServiceStack.Net 实现客户端身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7716282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com