C#自动登录使用桌面应用程序的网站

问题描述:

我有一个网站在PHP Laravel 5.2C#自动登录使用桌面应用程序的网站

我想使用C#创建一个桌面应用程序(类似于Windows的下拉框应用程序),其中将会有一个按钮“打开网页”,单击登录用户(在桌面应用程序中)应该得到的按钮登录到网站而不询问任何凭证。

在网站中,我使用的是基于api_token的身份验证。

有一种可能的方式,我可以在网站上做一个终点来检查令牌,如果用户登录正确,但我认为它不太安全。

我已经检查了请求响应日志中的投递箱“打开dropbox.com”按钮,它没有在请求中设置任何令牌。

问题是我该如何实现它?

+0

尝试使webrequste(POST)到您的PHP脚本返回一个json – Radinator

一种方式是做到以下几点:在您的桌面应用程序的服务器,这是指你想登录为

  • 用户在使用一次

    1. 请求(随机数)唯一代码

      打开一个网页浏览过程中与包含此使用一次性代码的地址,这样的事情:

      http://www.your.server.com/the/page/you/want?auth=29874298798724982734

    方式的Dropbox这样做,是在磁盘上创建其中包含一些JavaScript代码,他们的服务器上的职位“形”到一个安全的网页

    https://www.dropbox.com/desktop_login 
    
    form fields: 
        buildno=Dropbox-win-7.4.30 
        u=home 
        c=en_US 
        i=<some number> 
        n data-nonce-c=<some large hex string> 
    

    然后生成一个网页浏览器进程打开一个临时的HTML文件这个文件。

    要查看该文件,使用全球链接在你的Dropbox应用,然后尽快按Esc键作为初始网页加载和抢URL看起来应该是这样的:

    file://C:/users/USERNAME/appdata/local/temp/RANDOM.html 
    

    然后打开此文件检查它。

  • +0

    我认为使用您现在建议的第一种方法会更好。非常感谢。 :) – Dev