Sso 登录流程
目录
先介绍
OAuth2的授权码,然后再介绍SSO的流程。这里的代码来自 Sa-Token。
OAuth2 授权码模式
授权码模式,涉及到两个接口,获取 code和获取 accessToken。
获取 code
接口 /oauth2/authorize,会校验 client_id, redirect_uri, scope 参数,然后生成一个随机的 code, 将 code 附加在 redirect_uri 上,最后返回 302 状态码。
获取 accessToken
接口 /oauth2/token,会校验 code, client_id, client_secret, redirect_uri 参数, 然后生成一个随机的 accessToken, 最后返回。
SSO 流程
下面分为 sso-client 和 sso-server 两个系统。
- 在
sso-client检查没有登录,然后跳转sso-server的login页面,携带redirect_uri=sso-client-uri。 - 在
sso-server的login页面,输入用户名和密码,然后登录成功, 这时会有sso-server的cookie, 里面有token。 - 请求
sso-server的/oauth2/authorize?redirect_uri=sso-client-uri, 最后返回code并跳转到redirect_uri页面。 - 请求
sso-client的/oauth2/token(需要自己实现),接受code参数, 在sso-client中请求sso-server的/oauth2/token接口,返回accessToken。

示例代码
收录于 合集・随笔 56