📄 社交短信登录原理
内部资料,请扫码登录
pigcloud
本教程适用 v4.6+ 版本。
👉🏻 旧版本 社交短信登录原理
# ①验证码校验
获取从前端带过来的信息,进行验证码的校验
# ②根据登录请求构建认证实体
- 接受前端 /auth/oauth2/token 请求处理,(注意这里是 spring security authorization server 来接管这个请求)
- ① 请求URL 和密码登录一样
- ② mobile字段比较特殊为登录方式@标识
- ④ mobile 模式为扩展的支持短信&三方登录的实现模式
重点看下这个 ② 这里也就意味着可以支持 WX@OPENI_CODE 这种形式从而实现了三方登录
# ③根据请求参数构建认证实体
由文档中 登录 token 生成源码解析 中能知道
PigDaoAuthenticationProvider
进行最后用户的处理
根据 grantType
进行社交登录的判断 从而进入 PigxMobileUserDetailServiceImpl
处理
# UserDetailsService 调用 Feign 查询用户信息
特别注意此处入参为: TYPE@XXX
# ⑥ 匹配用户信息处理器查询
① 截取认证方式,比如 SMS、WX
② 通过方式去匹配对应的实现
这个 loginHandlerMap 是 spring 自己注入的,key: bean 名称 、value: bean 实现类