第三方登录原理

事情的起因是今天收到的一个steam好友发的疑似钓鱼网站。

进入网站后感觉这个“钓鱼网站”做的还是相当好的,已经感觉不太像是那种低劣的钓鱼网了,各种界面非常精致。

本想四处点点,点进登录,是不是以前看到过的那种很拙劣的登录框。但是进入登录界面后发现十分眼熟。而且域名也是steam的,这时我已经对这个登录界面感到好奇了。

一番搜索和学习,我找了找目前第三方网站想通过某一大型网站来验证用户信息的原理。例如qq登录,steam登录等等。

https://www.jianshu.com/p/4bd68fc90909

我的理解是,第三方登录利用了OAuth的底层协议,让第三方网站确认用户的唯一性,允许用户让第三方应用访问该用户在某一网站,而无需将用户名和密码提供给第三方应用。

也就是,其实第三方登录的本质,只是证明了你是你自己,通过与qq、steam等的数据交换,无需再在第三方网站上进行注册,懒嘛。

我也顺便查到了steam文献库的解释和帮助文档。

https://partner.steamgames.com/doc/features/auth?l=schinese

从我经常用steam登录的第三方平台某云社的登录界面也可以看出一些地方。

登录界面

这里会提示,只与第三方平台共享唯一的数字标符,而不会透露登录凭据。

steam文件的解释如下:在网页浏览器内,第三方网站能使用 OpenID 获取用户的 SteamID。该 SteamID 可用作第三方网站的登录凭据或与该网站上的既有帐户绑定。使用 OpenID 时,用户从网页浏览器中的第三方网站开始。 当用户希望登录该网站或将自己的帐户与该网站绑定时,网站使用 OpenID 将用户转至 Steam 社区网站上的一个登录窗体。 当用户输入 Steam 登录凭据后,用户的网页浏览器会自动重新定向回第三方网站,并将一些额外的 OpenID 特定数据追加入返回的 URL。 该站点的 OpenID 库随后能使用这些数据验证并获取用户的 SteamID。

原文地址:https://www.cnblogs.com/cmredkulaa/p/14586423.html