修改api authentication 的bug
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
index 84bba9f..e4a7088 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
@@ -74,16 +74,12 @@
} ?: throw TransactionCheckException(TradeErrorCode.BUSINESS_DEAL_ERROR,
"系统未配置租户信息")
- apiClientDao.findById(appid).run {
- if (!isPresent) {
- return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build()
- }
- if (get().status != TradeDict.STATUS_NORMAL) {
+ apiClientDao.findByAppid(appid)?.apply {
+ if (this.status != TradeDict.STATUS_NORMAL) {
return ResponseEntity.ok(ResponseBodyBuilder.create()
.fail(TradeErrorCode.BUSINESS_DEAL_ERROR, "API状态错误"))
}
- get()
- }.let { api ->
+ }?.let { api ->
val token = generateRandomToken()
val now = systemUtil.sysdatetime.hostdatetime
ApiClientRedis().also {
@@ -97,7 +93,7 @@
}
return ResponseEntity.ok(ResponseBodyBuilder.create()
.success(ApiLoginInitResponse(now, token)))
- }
+ } ?: return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build()
}
private fun generateRandomToken(): String {
@@ -148,14 +144,14 @@
}
val jwt = JwtTokenUtil(jwtConfig).verifyToken(auth.substring(jwtConfig.tokenHeader.length))
val appid = jwt["uid"] as String
- return apiClientDao.findById(appid).let {
- if (it.isPresent && it.get().status == TradeDict.STATUS_NORMAL) {
+ return apiClientDao.findByAppid(appid)?.let {
+ if (it.status == TradeDict.STATUS_NORMAL) {
// 新证书
val token = JwtTokenUtil(jwtConfig).generateToken(
mapOf(Constants.JWT_CLAIM_UID to appid,
"issuer" to "payapi",
"audience" to jwt["audience"],
- Constants.JWT_CLAIM_AUTHORITIES to it.get().roles.split(";")))
+ Constants.JWT_CLAIM_AUTHORITIES to it.roles.split(";")))
JwtRedis().apply {
jti = token.jti
uid = appid
@@ -171,7 +167,7 @@
} else {
ResponseEntity.status(HttpStatus.UNAUTHORIZED).build()
}
- }
+ } ?: ResponseEntity.status(HttpStatus.UNAUTHORIZED).build()
}
}