最近在写一个网站的第三方 Windows 客户端,wpf
网站授权用的是 OAuth 授权
一般流程是 登录网站 → 授权 → 回调 → 返回 token
由于这个网站登录必须要验证码,而且验证码机制好像挺复杂,思考了两天没办法用单纯的 http client 来解决
所以就考虑内置一个浏览器了(
现在有几个思路,但都不是很好:
- 用原生的 webbrowser,优点是内置,快,小 缺点是 IE 或者有其他坑 具体还没研究
- 用现代一点的 webview,优点是 Edge 缺点是要求 Windows10 1803 以上 老系统不友好
- 用 Cef ( Chromium ),优点是相比 2 几乎没有系统要求 缺点是程序要带一个 100+M 的 ceflib (可以 headless 而且授权结束后可以杀掉 chromium 内存其实很安逸
- electron 不会考虑的 一方面不会写 另一方面长得像浏览器 嫌弃, 个人也不可能做到 vs code 级别的优化
- 调用默认浏览器,最后把 token 显示在屏幕上,让用户复制进客户端。。。
那么有什么更好的方案吗?
