跳到主要内容

第三方账号信任登录插件体系说明

概述

  1. Javashop电商系统中第三方账号信任登录方式包含:微信、QQ、微博和支付宝
  2. 插件基类为AbstractConnectLoginPlugin,每种登录方式插件都继承这个基类来实现各自逻辑
  3. 在调用登录接口时要根据不同的登录类型来判断具体调用哪一个插件
  4. 第三方账号信任登录插件体系与系统中其它的插件体系(例如支付插件、短信插件等)不同,第三方账号信任登录插件没有统一的接口实现

结构图

image-20230802171443741

代码展示

AbstractConnectLoginPlugin插件基类代码如下:

@Component
public abstract class AbstractConnectLoginPlugin {
/**
* 获取插件唯一标识
*
* @return
*/
public abstract String getPluginId();


/**
* 获取授权登录的url
*
* @param clientTypeEnum 客户端类型 {@link ClientTypeEnum}
* @return
*/
public abstract String getLoginUrl(String clientTypeEnum);

/**
* 登录成功后的回调方法
*
* @param client 客户端类型 {@link ClientTypeEnum}
* @return
*/
public abstract Auth2Token loginCallback(String client);

/**
* 填充会员信息
*
* @param auth2Token 用户授权信息
* @param member 会员信息
* @return
*/
public abstract Member fillInformation(Auth2Token auth2Token, Member member);

//其它公共方法省略
}