public abstract class AbstractSocialAuthenticationHandler extends Object implements SocialAuthenticationHandler
Description: 抽象的社交登录处理器
实现社交登录和手机号码登录的主要流程逻辑
| 构造器和说明 |
|---|
AbstractSocialAuthenticationHandler() |
| 限定符和类型 | 方法和说明 |
|---|---|
abstract void |
additionalRegisterOperation(HerodotusUser HerodotusUser,
SocialUserDetails socialUserDetails)
随着系统业务复杂度的增加,系统用户注册成功之后,也许还会进行其它额外的操作,来补充新用户的相关信息。
|
abstract void |
additionalSignInOperation(HerodotusUser HerodotusUser,
SocialUserDetails newSocialUserDetails,
SocialUserDetails oldSocialUserDetails)
社交用户登录后,附加的其它操作
|
HerodotusUser |
authentication(String source,
cn.herodotus.engine.assistant.core.domain.AccessPrincipal accessPrincipal)
社交登录
1.
|
abstract void |
binding(String userId,
SocialUserDetails socialUserDetails)
系统用户与社交用户绑定操作
|
abstract SocialUserDetails |
identity(String source,
cn.herodotus.engine.assistant.core.domain.AccessPrincipal accessPrincipal)
第三方登录以及手机号码验证的认证,认证成功返回对应系统中的返回信息
|
abstract SocialUserDetails |
isUserExist(SocialUserDetails socialUserDetails)
根据社交登录返回的用户信息,查询系统中是否有响应的信息
|
abstract HerodotusUser |
register(SocialUserDetails socialUserDetails)
系统用户注册
根据社交用户提供的一些信息,进行系统用户的注册
|
abstract HerodotusUser |
signIn(SocialUserDetails socialUserDetails)
系统用户注册
根据社交用户提供的一些信息,进行系统用户的注册
|
public abstract SocialUserDetails identity(String source, cn.herodotus.engine.assistant.core.domain.AccessPrincipal accessPrincipal) throws AccessIdentityVerificationFailedException
source - 社交登录提供者分类accessPrincipal - 社交登录所需要的参数信息SocialUserDetailsAccessIdentityVerificationFailedException - 社交登录认证出错public abstract SocialUserDetails isUserExist(SocialUserDetails socialUserDetails)
socialUserDetails - 第三方系统或者手机号码认证成功后返回的信息 SocialUserDetailsSocialUserDetailspublic abstract HerodotusUser register(SocialUserDetails socialUserDetails) throws UsernameAlreadyExistsException
根据社交用户提供的一些信息,进行系统用户的注册
socialUserDetails - SocialUserDetailsHerodotusUserUsernameAlreadyExistsException - 用户名已经存在public abstract void binding(String userId, SocialUserDetails socialUserDetails) throws SocialCredentialsUserBindingFailedException
socialUserDetails - 第三方系统或者手机号码认证成功后返回的信息 SocialUserDetailsuserId - 系统用户的ID。SocialCredentialsUserBindingFailedException - 绑定出现错误Exceptionpublic abstract void additionalRegisterOperation(HerodotusUser HerodotusUser, SocialUserDetails socialUserDetails)
HerodotusUser - 系统用户信息 HerodotusUsersocialUserDetails - 社交登录过程中,第三方系统返回的新信息public abstract HerodotusUser signIn(SocialUserDetails socialUserDetails)
根据社交用户提供的一些信息,进行系统用户的注册
socialUserDetails - SocialUserDetailsHerodotusUserpublic abstract void additionalSignInOperation(HerodotusUser HerodotusUser, SocialUserDetails newSocialUserDetails, SocialUserDetails oldSocialUserDetails)
HerodotusUser - 系统用户信息 HerodotusUsernewSocialUserDetails - 社交登录过程中,第三方系统返回的新信息 SocialUserDetailsoldSocialUserDetails - 系统中已经存在的社交用户信息public HerodotusUser authentication(String source, cn.herodotus.engine.assistant.core.domain.AccessPrincipal accessPrincipal) throws org.springframework.security.core.AuthenticationException
1. 首先在第三方系统进行认证,或者手机号码、扫码认证。返回认证后的信息 2. 根据认证返回的信息,在系统中查询是否有对应的用户信息。 2.1. 如果有对应的信息,根据需要更新社交用户的信息,然后返回系统用户信息,进行登录。 2.2. 如果没有对应信息,就先进行用户的注册,然后进行社交用户和系统用户的绑定。
authentication 在接口中 SocialAuthenticationHandlersource - 社交登录提供者分类accessPrincipal - 社交登录所需要的信息org.springframework.security.core.AuthenticationException - AuthenticationException 认证错误Copyright © 2023 Dromara. All rights reserved.