最近做的1个项目,有WEB版、WPF版、手机版。领导想集成团体的1个现成的认证系统,姑且称这个认证系统名为 W4认证系统。
W4认证系统有以下特点:
1、现成的
2、是个单点登录系统
3、不支持oAuth2
4、是个WEB版的认证系统,严重依赖于cookie
WEB版还好,没有甚么大的问题,但WPF版这些桌面程序呢,如何与WEB版的认证系统集成?
如果看百度、微信等的oAuth2接口,发现其中有个参数,名曰display,支持多种访问WEB、桌面等多种方式。由于没有研究过,网上也没有找到甚么介绍资料,不知道具体是怎样样的。
我在项目中,假想是构建1个认证中介服务,接收客户端(包括WEB端、桌面端等)与W4认证系统之间的工作。对客户端而言,其实不知道有所谓W4系统。一样,对W4而言,亦不知那些客户端为什么物。
桌面端具体登录进程设计以下:
0、桌面端是WPF版,认证中介是WEB版
1、桌面端先与认证中介服务建立连接,通过socket.io
2、建立连接后,触发事件,桌面端打开1个新窗口,里面是1个webbrowser,打开认证中介的页面
3、认证中介转向W4。转向前做相干准备
4、在W4中登录,成功后,认证中介向W4读取账户资料(W4有相干接口)
5、认证中介相干处理后,将账户资料及access_token通过连接发回到桌面端
6、桌面端收到资料,关闭连接,登录流程结束
上一篇 vmware的后台启动
下一篇 一位热爱编程的大一同学期末困惑