桌面端应用调用 HTML 登录页是怎么实现的。

2021-09-09 10:11:38 +08:00
 JKeita

需求是编写 dll 能够弹出一个 web 登录页面并且进行回调;

微软有一个 webview2 但是兼容性不好,依赖 edge 。

最好是使用 golang 编写 dll,然后调用 html 页面的实现。

2851 次点击
所在节点    问与答
28 条回复
lscexpress
2021-09-09 10:15:18 +08:00
关键字,qt,微信或 qq 登录
tianxia
2021-09-09 10:17:36 +08:00
aardoid
JKeita
2021-09-09 10:18:54 +08:00
@tianxia 是 PC 端不是安卓应用
JKeita
2021-09-09 10:19:28 +08:00
@lscexpress 是自己实现的登录,应用调用自己的 web 登录页。
tianxia
2021-09-09 10:19:56 +08:00
@JKeita 写错了,aardio
learnshare
2021-09-09 10:22:06 +08:00
流行的方式是打开浏览器,登录完成后通过 URI scheme 跳转回应用
比如 Sourcetree 、VS Code 、Github Desktop
JKeita
2021-09-09 10:23:27 +08:00
@tianxia 好像不行,需求是编写一个 dll SDK 供其他应用调用自己的登录。
youyouyou0123456
2021-09-09 10:24:50 +08:00
打开浏览器验证就好了。觉得体验不好可以嵌入一个 cef,通过 cef 的回调验证。
JKeita
2021-09-09 10:25:51 +08:00
@youyouyou0123456 打开浏览器不行吧,登录后的用户信息数据要回传给应用使用。
learnshare
2021-09-09 10:34:46 +08:00
@JKeita 浏览器登录一般是返回 token,根据 token 获取其他信息就是了
nutting
2021-09-09 10:41:44 +08:00
那种能检测到已经登录,我以为是扫描 cookie 了
xieqiqiang00
2021-09-09 10:49:14 +08:00
自己启动一个服务器,然后用 oauth2.0 那种方法是申请授权就好了
xieqiqiang00
2021-09-09 10:50:37 +08:00
ysc3839
2021-09-09 10:51:26 +08:00
WebView2 可以自带依赖文件,最老能兼容 Win7 系统。
还可以用 CEF https://bitbucket.org/chromiumembedded/cef,但是代码复杂很多,无特殊需求的情况下不比 Edge 有优势。
还有一个选择是使用系统内置的 IE 内核,但是就算是 IE 最新版,也有很多特性不支持,更何况用户可能还在用 IE8 等老版本。
JKeita
2021-09-09 11:00:46 +08:00
@ysc3839 webview2 再自带依赖那个文件太大了,那个运行环境就得 100 多 MB
JKeita
2021-09-09 11:01:59 +08:00
@ysc3839 使用 IE 也不行,win10 都不支持了。我看挺多软件都实现很好不懂怎么搞得,比如 nvidia expression
JKeita
2021-09-09 11:02:53 +08:00
@xieqiqiang00 额,现在就是不知怎么编写 dll 调用 web 登录页回调。
joesonw
2021-09-09 11:17:34 +08:00
本地起服务器监听例如 :9090, 网页登录成功后带着 ticket 回调 localhost:9090
JKeita
2021-09-09 11:24:27 +08:00
@joesonw 不是,这是需要编写一个 dll,相当于给第三方应用的 SDK 登录
codehz
2021-09-09 11:24:54 +08:00
@JKeita ie 控件会一直支持)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/800756

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX