OAuth2.0

OAuth2.0_第1张图片

目录

1.OAuth2.0

1.1 简介

1.2 OAuth协议

1.3 应用场景

1.4 基本概念

1.5 优缺点

1.6 社交登录(微博登录)

1.6.1 进入微博开放平台

1.6.2 登录微博,进入微连接,选择网站进入


1.OAuth2.0

1.1 简介

推荐(spring security与auth2.0整合):OAuth2.0 详解 - 知乎

OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方 应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容。OAuth在全世界得到广泛应用,目前的版本是2.0版。

对于用户相关的 OpenAPI (例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。

1.2 OAuth协议

OAuth协议:https://tools.ietf.org/html/rfc6749

协议特点:

  • 简单:不管是OAuth服务提供者还是应用开发者,都很易于理解与使用;
  • 安全:没有涉及到用户密钥等信息,更安全更灵活;
  • 开放:任何服务提供商都可以实现OAuth,任何软件开发商都可以使用OAuth;

1.3 应用场景

  • 原生app授权:app登录请求后台接口,为了安全认证,所有请求都带token信息,如果登录验证、 请求后台数据。
     
  • 前后端分离单页面应用:前后端分离框架,前端请求后台数据,需要进行oauth2安全认证
     
  • 第三方应用授权登录,比如QQ,微博,微信的授权登录。

1.4 基本概念

  • Third-party application:第三方应用程序,又称"客户端"(client),即例子中的"豆瓣"。
     
  • HTTP service:HTTP服务提供商,简称"服务提供商",即例子中的qq。
     
  • Resource Owner:资源所有者,又称"用户"(user)。
  • User Agent:用户代理,比如浏览器。
  • Authorization server:授权服务器,即服务提供商专门用来处理认证授权的服务器。
  • Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与授权服务器,可以是同一台服务器,也可以是不同的服务器。

OAuth的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务提供商"进行交互。

1.5 优缺点

优点:

  • 更安全,客户端不接触用户密码,服务器端更易集中保护
  • 广泛传播并被持续采用
  • 短寿命和封装的token
  • 资源服务器和授权服务器解耦
  • 集中式授权,简化客户端
  • HTTP/JSON友好,易于请求和传递token
  • 考虑多种客户端架构场景
  • 客户可以具有不同的信任级别

缺点:

  • 协议框架太宽泛,造成各种实现的兼容性和互操作性差
  • 不是一个认证协议,本身并不能告诉你任何用户信息。

OAuth2.0_第2张图片

1.6 社交登录(微博登录)

1.6.1 进入微博开放平台

微博直达链接

1.6.2 登录微博,进入微连接,选择网站进入

微连接直达地址

OAuth2.0_第3张图片

OAuth2.0_第4张图片

之后完善你的基本信息(身份认证得审核通过才可以创建服务),来到这一步,点击网站接入。

OAuth2.0_第5张图片

OAuth2.0_第6张图片

OAuth2.0_第7张图片

你可能感兴趣的:(java)