web-services - 在 Web 应用程序和桌面应用程序之间集成身份验证

标签 web-services web-applications security

我想通过桌面应用程序将文件上传到网站,然后将用户带到该网站。该网站具有 Web 服务,但需要像网站一样进行身份验证。有没有办法做到这一点而不强制用户进行两次身份验证(一次在桌面应用程序中,一次在网络浏览器中)? 不幸的是,出于安全原因,您无法预填充文件类型的输入,这是有道理的,因为用户不希望您从他/她的计算机上传任意文件。但如果他们有桌面应用程序,有什么办法可以解决这个问题吗? 或者也许让用户先登录到 Web 应用程序,然后可以重用身份验证 cookie? 还有其他想法吗?

谢谢, 本

最佳答案

我将通过 API 使用 dekstop 应用程序作为网站应用程序的客户端。

因此,通过桌面应用程序登录。 API 返回一个身份验证 token (如 Carlos 建议的那样),它可能是在数据库中存储一段时间的 md5 哈希值,可能与客户端 IP 地址匹配。

然后,桌面应用程序可以作为经过身份验证的用户(通过使用身份验证 token )对 api 进行调用(例如上传文件)。

加载网站时,网址可能是 http://website/login/ {auth_token} 将身份验证 token 添加到 url。 API 可以检查其是否是有效的身份验证 token 并考虑用户已登录。

关于web-services - 在 Web 应用程序和桌面应用程序之间集成身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1058071/

相关文章:

c# - 如何在 C# 中使用 WSDL 文件使用 WebService

linux - Web 浏览器创建到本地计算机的套接字连接。

java - pbkdf2 加盐哈希密码验证

security - 在 CentOS 6 上配置 Kerberos 时出错

android - 为什么不直接将android连接到数据库?

java - 有没有可能用camel监听sql表/字段?

java - 如何在 JAXRS 中将字段标记为不被 JAXB 扩展

github - 如何通过 Azure DevOps 构建定义中的构建任务构建第三方引用

security - 在不安全的情况下公开安全 Web 应用程序的静态资源有哪些危险?

java - 如何构建同一 Web 应用程序的在线和离线版本