我想通过桌面应用程序将文件上传到网站,然后将用户带到该网站。该网站具有 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/