| | |
| | | import org.springblade.core.tool.utils.RandomType; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springblade.core.tool.utils.WebUtil; |
| | | import org.springblade.modules.auth.granter.SmsCodeTokenGranter; |
| | | import org.springblade.modules.auth.provider.ITokenGranter; |
| | | import org.springblade.modules.auth.provider.TokenGranterBuilder; |
| | | import org.springblade.modules.auth.provider.TokenParameter; |
| | |
| | | public Kv token(@ApiParam(value = "租户ID", required = true) @RequestParam String tenantId, |
| | | @ApiParam(value = "账号", required = true) @RequestParam(required = false) String username, |
| | | @ApiParam(value = "密码", required = true) @RequestParam(required = false) String password, |
| | | @ApiParam(value = "手机号", required = true) @RequestParam(required = false) String phone, |
| | | @ApiParam(value = "手机验证码", required = true) @RequestParam(required = false) String code, |
| | | @ApiIgnore @RequestHeader(name = TokenUtil.DEPT_HEADER_KEY, required = false) String deptId, |
| | | @ApiIgnore @RequestHeader(name = TokenUtil.ROLE_HEADER_KEY, required = false) String roleId) { |
| | | |
| | |
| | | .set("grantType", grantType) |
| | | .set("refreshToken", refreshToken) |
| | | .set("userType", userType) |
| | | .set("deptId", deptId).set("roleId", roleId); |
| | | .set("deptId", deptId).set("roleId", roleId) |
| | | .set("phone", phone) |
| | | .set("code", code); |
| | | |
| | | ITokenGranter granter = TokenGranterBuilder.getGranter(grantType); |
| | | UserInfo userInfo = granter.grant(tokenParameter); |
| | | |
| | | if (userInfo == null || userInfo.getUser() == null) { |
| | | return authInfo.set("error_code", HttpServletResponse.SC_BAD_REQUEST).set("error_description", "用户名或密码不正确"); |
| | | if (grantType.equals(SmsCodeTokenGranter.GRANT_TYPE)) |
| | | return authInfo.set("error_code", HttpServletResponse.SC_BAD_REQUEST).set("error_description", "手机号码未绑定账号"); |
| | | else |
| | | return authInfo.set("error_code", HttpServletResponse.SC_BAD_REQUEST).set("error_description", "用户名或密码不正确"); |
| | | } |
| | | |
| | | if (Func.isEmpty(userInfo.getRoles())) { |