【问题标题】:Windows desktop application read session data from browserWindows 桌面应用程序从浏览器读取会话数据
【发布时间】:2020-07-26 07:50:11
【问题描述】:

我正在编写一个桌面和网络应用程序,只需要知道我如何在安装后使用相同的打开网络应用程序浏览器授权这个桌面应用程序?

【问题讨论】:

    标签: python c# node.js angular desktop-application


    【解决方案1】:

    如果您的意思是通过任何网络浏览器的用户登录来授权您的桌面应用程序,您可以使用 TCP/UDP 套接字,或者例如,每 2 秒调用一次 api 来检查用户是否登录。在网络浏览器中,如果用户已经登录,您可以使用其 ip 或数据库中的其他数据设置登录状态,以从桌面应用程序授权用户。

    【讨论】:

    • 如果桌面应用程序调用 api,服务器如何在没有 Web 浏览器数据(例如令牌或密钥)的情况下知道他,我不会在 Web 和桌面之间共享此密钥
    • 服务器连接认证与用户认证不同。您需要首先以您想要的各种方式对从桌面到服务器的服务器连接进行身份验证。然后通过该连接,您可以检查桌面是否已登录的当前 IP。 ...
    • 如果已登录,则在数据库中为用户添加一个唯一令牌,并在 Web 浏览器中要求用户在获得授权的情况下接受桌面连接。然后您可以从服务器告诉桌面您已获得从服务器生成的令牌的授权。现在桌面可以与该令牌通信。当然这种方式可能存在错误,需要完整分析才能找到最佳方式。
    • 可能是当前使用桌面的 ip 在授权时使用不是好主意,因为这个 ip 可能会改变我的问题在第一次桌面午餐时必须使用 api 调用服务器并且服务器在没有登录数据的情况下知道他跨度>
    • 我认为在不使用任何 vpn 或代理的情况下,它不会在一个互联网连接中改变。如果这样做,他/她将再次登录。您可以使用 ip 和 os 详细信息来查找用户。正如我所说,对于服务器身份验证,您通常需要在用户身份验证之前对应用程序访问进行身份验证才能使用公共 api。我的意思是你需要两级身份验证。我不认为任何数据可以帮助您喜欢 ip 在登录前找到用户。(因为浏览器访问)。否则用户必须使用名称或 ID 或数据发送到服务器,现在服务器可以找到用户及其连接。
    猜你喜欢
    • 2016-08-23
    • 2010-12-26
    • 2011-03-30
    • 2012-06-22
    • 2016-01-23
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多