| | |
| | | */ |
| | | static LoginVo login(String body, SysClient client, String grantType) { |
| | | // 授权类型和客户端id |
| | | String clientId = client.getClientId(); |
| | | String beanName = grantType + BASE_NAME; |
| | | if (!SpringUtils.containsBean(beanName)) { |
| | | throw new ServiceException("授权类型不正确!"); |
| | | } |
| | | IAuthStrategy instance = SpringUtils.getBean(beanName); |
| | | return instance.login(clientId, body, client); |
| | | return instance.login(body, client); |
| | | } |
| | | |
| | | /** |
| | | * 登录 |
| | | */ |
| | | LoginVo login(String clientId, String body, SysClient client); |
| | | LoginVo login(String body, SysClient client); |
| | | |
| | | } |
| | |
| | | private final SysUserMapper userMapper; |
| | | |
| | | @Override |
| | | public LoginVo login(String clientId, String body, SysClient client) { |
| | | public LoginVo login(String body, SysClient client) { |
| | | EmailLoginBody loginBody = JsonUtils.parseObject(body, EmailLoginBody.class); |
| | | ValidatorUtils.validate(loginBody); |
| | | String tenantId = loginBody.getTenantId(); |
| | |
| | | // 例如: 后台用户30分钟过期 app用户1天过期 |
| | | model.setTimeout(client.getTimeout()); |
| | | model.setActiveTimeout(client.getActiveTimeout()); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, clientId); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId()); |
| | | // 生成token |
| | | LoginHelper.login(loginUser, model); |
| | | |
| | |
| | | LoginVo loginVo = new LoginVo(); |
| | | loginVo.setAccessToken(StpUtil.getTokenValue()); |
| | | loginVo.setExpireIn(StpUtil.getTokenTimeout()); |
| | | loginVo.setClientId(clientId); |
| | | loginVo.setClientId(client.getClientId()); |
| | | return loginVo; |
| | | } |
| | | |
| | |
| | | private final SysUserMapper userMapper; |
| | | |
| | | @Override |
| | | public LoginVo login(String clientId, String body, SysClient client) { |
| | | public LoginVo login(String body, SysClient client) { |
| | | PasswordLoginBody loginBody = JsonUtils.parseObject(body, PasswordLoginBody.class); |
| | | ValidatorUtils.validate(loginBody); |
| | | String tenantId = loginBody.getTenantId(); |
| | |
| | | // 例如: 后台用户30分钟过期 app用户1天过期 |
| | | model.setTimeout(client.getTimeout()); |
| | | model.setActiveTimeout(client.getActiveTimeout()); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, clientId); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId()); |
| | | // 生成token |
| | | LoginHelper.login(loginUser, model); |
| | | |
| | |
| | | LoginVo loginVo = new LoginVo(); |
| | | loginVo.setAccessToken(StpUtil.getTokenValue()); |
| | | loginVo.setExpireIn(StpUtil.getTokenTimeout()); |
| | | loginVo.setClientId(clientId); |
| | | loginVo.setClientId(client.getClientId()); |
| | | return loginVo; |
| | | } |
| | | |
| | |
| | | private final SysUserMapper userMapper; |
| | | |
| | | @Override |
| | | public LoginVo login(String clientId, String body, SysClient client) { |
| | | public LoginVo login(String body, SysClient client) { |
| | | SmsLoginBody loginBody = JsonUtils.parseObject(body, SmsLoginBody.class); |
| | | ValidatorUtils.validate(loginBody); |
| | | String tenantId = loginBody.getTenantId(); |
| | |
| | | // 例如: 后台用户30分钟过期 app用户1天过期 |
| | | model.setTimeout(client.getTimeout()); |
| | | model.setActiveTimeout(client.getActiveTimeout()); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, clientId); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId()); |
| | | // 生成token |
| | | LoginHelper.login(loginUser, model); |
| | | |
| | |
| | | LoginVo loginVo = new LoginVo(); |
| | | loginVo.setAccessToken(StpUtil.getTokenValue()); |
| | | loginVo.setExpireIn(StpUtil.getTokenTimeout()); |
| | | loginVo.setClientId(clientId); |
| | | loginVo.setClientId(client.getClientId()); |
| | | return loginVo; |
| | | } |
| | | |
| | |
| | | /** |
| | | * 登录-第三方授权登录 |
| | | * |
| | | * @param clientId 客户端id |
| | | * @param body 登录信息 |
| | | * @param client 客户端信息 |
| | | */ |
| | | @Override |
| | | public LoginVo login(String clientId, String body, SysClient client) { |
| | | public LoginVo login(String body, SysClient client) { |
| | | SocialLoginBody loginBody = JsonUtils.parseObject(body, SocialLoginBody.class); |
| | | ValidatorUtils.validate(loginBody); |
| | | AuthResponse<AuthUser> response = SocialUtils.loginAuth( |
| | |
| | | // 例如: 后台用户30分钟过期 app用户1天过期 |
| | | model.setTimeout(client.getTimeout()); |
| | | model.setActiveTimeout(client.getActiveTimeout()); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, clientId); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId()); |
| | | // 生成token |
| | | LoginHelper.login(loginUser, model); |
| | | |
| | |
| | | LoginVo loginVo = new LoginVo(); |
| | | loginVo.setAccessToken(StpUtil.getTokenValue()); |
| | | loginVo.setExpireIn(StpUtil.getTokenTimeout()); |
| | | loginVo.setClientId(clientId); |
| | | loginVo.setClientId(client.getClientId()); |
| | | return loginVo; |
| | | } |
| | | |
| | |
| | | private final SysLoginService loginService; |
| | | |
| | | @Override |
| | | public LoginVo login(String clientId, String body, SysClient client) { |
| | | public LoginVo login(String body, SysClient client) { |
| | | XcxLoginBody loginBody = JsonUtils.parseObject(body, XcxLoginBody.class); |
| | | ValidatorUtils.validate(loginBody); |
| | | // xcxCode 为 小程序调用 wx.login 授权后获取 |
| | |
| | | // 例如: 后台用户30分钟过期 app用户1天过期 |
| | | model.setTimeout(client.getTimeout()); |
| | | model.setActiveTimeout(client.getActiveTimeout()); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, clientId); |
| | | model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId()); |
| | | // 生成token |
| | | LoginHelper.login(loginUser, model); |
| | | |
| | |
| | | LoginVo loginVo = new LoginVo(); |
| | | loginVo.setAccessToken(StpUtil.getTokenValue()); |
| | | loginVo.setExpireIn(StpUtil.getTokenTimeout()); |
| | | loginVo.setClientId(clientId); |
| | | loginVo.setClientId(client.getClientId()); |
| | | loginVo.setOpenid(openid); |
| | | return loginVo; |
| | | } |