OAuth常见应用场景

OAuth2 的常见使用场景包括:

  1. 第三方登录:当自己开发的系统需要引入微信、QQ、支付宝、钉钉等第三方登录时,可以使用OAuth2协议。例如,用户可以使用微信、QQ等第三方登录进行登录,Gitee用户可以使用微信、QQ等第三方应用授权登录。
  2. 开放平台:当自己开发的系统需要开放一些接口,用来给第三方应用去查询使用相关的信息时,也可以使用OAuth2协议。第三方应用可以通过OAuth2协议获取到开放平台的接口访问权限,从而可以查询使用相关的信息。
  3. SSO单点登录:当自己开发的系统是在微服务环境下使用sso相关的场景时,可以使用OAuth2协议实现单点登录。通过使用OAuth2协议,用户只需要在一个系统中登录,就可以直接访问其他系统,无需再次登录。

另外,OAuth2四种授权模式也有各自的使用场景,具体如下:

  1. 授权码模式:安全性高,使用率高,流程复杂。适用于有自己的服务器的应用(前端服务或者后端服务),它是一个一次性的临时凭证,用来换取access_token和refresh_token。一旦换取成功,code立即作废,不能再使用第二次。对安全性要求较高,web项目中一般使用授权码模式。
  2. 简化模式:流程简单,简化模式适用于纯静态页面应用。该模式下,access_token容易泄露且不可刷新,不安全。
  3. 密码模式:用户向客户端提供自己的用户名和密码,客户端再向 “服务商提供商” 换取access_token。由于密码需要传递给客户端,所以极度不安全,需要高度信任第三方应用。这种模式适用于其他授权模式都无法采用的情况。
  4. 客户端模式:授权维度为应用维度,而不是用户维度。因此有可能多个用户共用一个Token的情况。适用于应用维度的共享资源。适用于服务器之间交互,不需要用户参与。

答案来源文心一言

你可能感兴趣的:(java)