文章 75
评论 13
浏览 21091
[转]OAuth2.0 原理流程及其单点登录和权限控制

[转]OAuth2.0 原理流程及其单点登录和权限控制

[转]OAuth2.0 原理流程及其单点登录和权限控制 原文链接 单点登录是多域名企业站点流行的登录方式。本文以现实生活场景辅助理解,力争彻底理清 OAuth2.0 实现单点登录的原理流程。同时总结了权限控制的实现方案,及其在微服务架构中的应用。 1 什么是单点登录 1.1 多点登录 传统的多点登录系统中,每个站点都实现了本站专用的帐号数据库和登录模块。各站点的登录状态相互不认可,各站点需要逐一手工登录。如下图,有两个术语含义如下: 认证(authentication): 验证用户的身份; 授权(authorization): 验证用户的访问权限。 1.2 单点登录 单点登录,英文是 Single Sign On,缩写为 SSO。 多个站点(192.168.1.20X)共用一台认证授权服务器(192.168.1.110,用户数据库和认证授权模块共用)。用户经由其中任何一个站点(比如 192.168.1.201)登录后,可以免登录访问其他所有站点。而且,各站点间可以通过该登录状态直接交互。 2 OAuth2 认证授权的原理流程 2.1 生活实例【★★重点★★】 为了直观的理解 O....

OAuth2.0登录的四种方式

OAuth2.0登录的四种方式

OAuth登录的四种方式 1. 授权码 授权码(authorization code)方式,指的是第三方应用先申请一个授权码,然后再用该码获取令牌。 这种方式是最常用的流程,安全性也最高,它适用于那些有后端的 Web 应用。授权码通过前端传送,令牌则是储存在后端,而且所有与资源服务器的通信都在后端完成。这样的前后端分离,可以避免令牌泄漏。 例如,有一个网站A(高德地图),需要向网站B(微博)授权登录 第一步,拿到授权码 A 网站(高德)提供一个链接,用户点击后就会跳转到 B(微博) 网站,授权用户数据给 A(高德) 网站使用。下面就是 A (高德)网站跳转 B (微博)网站的一个示意链接。 https://api.weibo.com/oauth2/authorize? client_id=884965267 &redirect_uri=https%3A%2F%2Fid.amap.com%2Findex%2Fweibo%3Fpassport%3D1 client_id客户端id,redirect_uri跳转链接 第二步,在用户跳转后,B 网站会要求用户登录,然后询问是否同意给....

记录精彩的程序人生