1、调整币种汇率模块
2、新增保险记录模块 3、新增违章记录模块 4、新增换胎记录模块 5、新增事故记录模块 6、新增年检记录模块 7、新增里程记录模块 8、新增变更记录模块 9、新增油电记录模块 10、新增ETC记录模块 11、新增其他费用记录模块
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.auth.endpoint;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springblade.core.oauth2.endpoint.OAuth2TokenEndPoint;
|
||||
import org.springblade.core.oauth2.provider.OAuth2Response;
|
||||
import org.springblade.core.tool.support.Kv;
|
||||
import org.springblade.core.tool.utils.StringUtil;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* IAM统一身份认证端点
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/iam/sso")
|
||||
@Tag(name = "IAM统一身份认证", description = "IAM统一身份认证端点")
|
||||
public class IamSsoEndpoint {
|
||||
|
||||
private static final String GRANT_TYPE = "iam_sso";
|
||||
|
||||
private final OAuth2TokenEndPoint tokenEndPoint;
|
||||
|
||||
/**
|
||||
* IAM统一身份认证登录
|
||||
*
|
||||
* @param request 请求信息
|
||||
* @return token
|
||||
*/
|
||||
@PostMapping("/token")
|
||||
@Operation(summary = "IAM统一身份认证登录", description = "使用IAM授权码换取本系统Token")
|
||||
public ResponseEntity<Kv> token(HttpServletRequest request) {
|
||||
String grantType = request.getParameter("grant_type");
|
||||
if (!StringUtil.equals(GRANT_TYPE, grantType)) {
|
||||
return ResponseEntity.ok(
|
||||
OAuth2Response.create().ofFailure(400, "IAM统一身份认证接口仅支持iam_sso授权类型")
|
||||
);
|
||||
}
|
||||
if (StringUtil.isBlank(request.getParameter("code"))) {
|
||||
return ResponseEntity.ok(
|
||||
OAuth2Response.create().ofFailure(400, "IAM统一身份认证授权码不能为空")
|
||||
);
|
||||
}
|
||||
return tokenEndPoint.token();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -81,6 +81,7 @@ public class IamSsoTokenGranter extends AuthorizationCodeGranter {
|
||||
|
||||
private static final String GRANT_TYPE = "iam_sso";
|
||||
private static final String IAM_GRANT_TYPE = "authorization_code";
|
||||
private static final String IAM_TOKEN_URI = "/iam/sso/token";
|
||||
private static final String BEARER_PREFIX = "Bearer ";
|
||||
private static final String BASIC_PREFIX = "Basic ";
|
||||
|
||||
@@ -123,6 +124,9 @@ public class IamSsoTokenGranter extends AuthorizationCodeGranter {
|
||||
|
||||
@Override
|
||||
public OAuth2User user(OAuth2Request request) {
|
||||
if (!isDedicatedIamEndpoint(request)) {
|
||||
throw new UserInvalidException(OAuth2TokenConstant.TOKEN_NOT_CORRECT);
|
||||
}
|
||||
if (!isIamRequest(request, true)) {
|
||||
throw new UserInvalidException(OAuth2TokenConstant.TOKEN_NOT_CORRECT);
|
||||
}
|
||||
@@ -196,6 +200,11 @@ public class IamSsoTokenGranter extends AuthorizationCodeGranter {
|
||||
return isIamRequest(request, false);
|
||||
}
|
||||
|
||||
private boolean isDedicatedIamEndpoint(OAuth2Request request) {
|
||||
return request.getHttpRequest() != null
|
||||
&& request.getHttpRequest().getRequestURI().endsWith(IAM_TOKEN_URI);
|
||||
}
|
||||
|
||||
private boolean isIamRequest(OAuth2Request request, boolean logMiss) {
|
||||
String redirectUri = normalizeRedirectUri(request.getRedirectUri());
|
||||
boolean iamRequest = StringUtil.isNotBlank(properties.getRedirectUri())
|
||||
|
||||
Reference in New Issue
Block a user