如何改造为spring security oauth2授权码方式登录授权
当前登录流程中不需要用户密码,使用的是公司内部app扫码授权
看网上大部分流程都需要输入用户密码进行授权,这里不同的是用了公司app扫码授权 重定向 url中带有code, 前端使用此 授权code 请求服务端获取accessToken 拿到用户信息。
###当前整体流程如下 (授权服务器都有) 请问如何将如下流程改造为spring security oauth2登录授权 (扫码方式)
看网上大部分流程都需要输入用户密码进行授权,这里不同的是用了公司app扫码授权 重定向 url中带有code, 前端使用此 授权code 请求服务端获取accessToken 拿到用户信息。
###当前整体流程如下 (授权服务器都有) 请问如何将如下流程改造为spring security oauth2登录授权 (扫码方式)
从流程来看实现如下:
首先由前端发起请求,跳转到授权服务器的授权页面。
接着授权服务器生成二维码,公司 app 扫码后重定向至指定 URL,并带有授权码 code。
再回到前端解析 URL 中的 code,并使用它向服务端发起请求。
接着服务端根据 code、client_id、grant_type、client_secret 等信息,向授权服务器请求 access_token。
授权服务器根据请求信息,返回 access_token。
服务端使用 access_token 和 client_id 请求授权服务器获取用户信息。
授权服务器返回用户信息。
服务端使用用户信息登录成功,并设置 session。
后台返回首页给前端。