想象你要入住一家酒店,但酒店为了安全,不会直接给你房间钥匙,而是通过一套验证流程给你一张临时门卡。OAuth2 的认证流程与此非常相似,我们通过这个例子来理解:
角色对应
- 你(用户):想进入房间的客人
- 酒店前台(客户端):你使用的APP或网站(比如用微信登录某购物网站)
- 酒店管理系统(授权服务器):微信的认证系统
- 房间门锁(资源服务器):存储你个人信息的服务器(比如你的微信头像、昵称)
6步完整流程
-
你走到前台说要进房间(用户发起请求)
- 当你在购物网站点击「微信登录」按钮时,相当于告诉网站:「我要用微信的身份进来」。
-
前台给你一张「临时凭证」(授权请求)
- 网站会跳转到微信的登录页面,并生成一个临时授权码(就像前台给你一张写着「请验证身份」的纸条)。
-
你向酒店管理系统证明身份(用户登录授权)
- 你在微信的页面上输入账号密码登录(相当于向前台出示身份证)。
- 微信会问:「购物网站想获取你的头像和昵称,是否同意?」(就像酒店问:「是否允许生成门卡?」)
-
管理系统给前台一张「门卡」(颁发访问令牌)
- 如果你点击「同意」,微信会生成一个访问令牌(Access Token)(相当于一张只能开特定房间的电子门卡),通过临时凭证传给购物网站。

最低0.47元/天 解锁文章
546

被折叠的 条评论
为什么被折叠?



