diff --git a/.gitignore b/.gitignore
index af404450..0a4f554c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,4 +42,7 @@ build/
*/.phd
*/.txt
*/.trc
-powerjob-data/
\ No newline at end of file
+powerjob-data/
+
+### local test ###
+application-local.properties
\ No newline at end of file
diff --git a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/jwt/impl/DefaultSecretProvider.java b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/jwt/impl/DefaultSecretProvider.java
index d3faf327..0a26a557 100644
--- a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/jwt/impl/DefaultSecretProvider.java
+++ b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/jwt/impl/DefaultSecretProvider.java
@@ -13,6 +13,6 @@ import tech.powerjob.server.auth.jwt.SecretProvider;
public class DefaultSecretProvider implements SecretProvider {
@Override
public String fetchSecretKey() {
- return "ZQQ";
+ return "ZQQZJ";
}
}
diff --git a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/jwt/impl/JwtServiceImpl.java b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/jwt/impl/JwtServiceImpl.java
index c344276a..6c7f1f38 100644
--- a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/jwt/impl/JwtServiceImpl.java
+++ b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/jwt/impl/JwtServiceImpl.java
@@ -37,10 +37,10 @@ public class JwtServiceImpl implements JwtService {
* GoodSong
*/
private static final String BASE_SECURITY =
- "死去元知万事空" +
- "但悲不见九州同" +
- "王师北定中原日" +
- "家祭无忘告乃翁"
+ "CengMengXiangZhangJianZouTianYa" +
+ "KanYiKanShiJieDeFanHua" +
+ "NianShaoDeXinZongYouXieQingKuang" +
+ "RuJinWoSiHaiWeiJia"
;
@Override
diff --git a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/login/impl/DingTalkBizLoginService.java b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/login/impl/DingTalkBizLoginService.java
index d8ff7752..36b31b46 100644
--- a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/login/impl/DingTalkBizLoginService.java
+++ b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/login/impl/DingTalkBizLoginService.java
@@ -32,22 +32,29 @@ import java.nio.charset.StandardCharsets;
@Service
public class DingTalkBizLoginService implements BizLoginService {
+ /*
+ 配置示例
+ oms.auth.dingtalk.appkey=dinggzqqzqqzqqzqq
+ oms.auth.dingtalk.appSecret=iY-FS8mzqqzqq_xEizqqzqqzqqzqqzqqzqqYEbkZOal
+ oms.auth.dingtalk.callbackUrl=http://localhost:7700/auth/loginCallback
+ */
+
/**
* 钉钉应用 AppKey
*/
- @Value("${oms.auth.dingtalk.appkey}")
+ @Value("${oms.auth.dingtalk.appkey:#{null}}")
private String dingTalkAppKey;
/**
* 钉钉应用 AppSecret
*/
- @Value("${oms.auth.dingtalk.appSecret}")
+ @Value("${oms.auth.dingtalk.appSecret:#{null}}")
private String dingTalkAppSecret;
/**
* 回调地址,powerjob-server 地址 + /user/auth
- * 比如本地调试时为 LocalDemoCallbackUrl
- * 部署后则为 demoCallBackUrl
+ * 比如本地调试时为 LocalDemoCallbackUrl
+ * 部署后则为 demoCallBackUrl
*/
- @Value("${oms.auth.dingtalk.callbackUrl}")
+ @Value("${oms.auth.dingtalk.callbackUrl:#{null}}")
private String dingTalkCallbackUrl;
private static final String DING_TALK = "DingTalk";
diff --git a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/service/PowerJobAuthServiceImpl.java b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/service/PowerJobAuthServiceImpl.java
index 6f2b97a8..0460fefa 100644
--- a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/service/PowerJobAuthServiceImpl.java
+++ b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/service/PowerJobAuthServiceImpl.java
@@ -71,19 +71,24 @@ public class PowerJobAuthServiceImpl implements PowerJobAuthService {
final BizUser bizUser = loginService.login(loginContext);
String dbUserName = String.format("%s_%s", loginType, bizUser.getUsername());
- final Optional powerJobUserOpt = userInfoRepository.findByUsername(dbUserName);
+ Optional powerJobUserOpt = userInfoRepository.findByUsername(dbUserName);
- PowerJobUser ret = new PowerJobUser();
- // 存在则响应 PowerJob 用户,否则同步在 PowerJob 用户库创建该用户
- if (powerJobUserOpt.isPresent()) {
- final UserInfoDO dbUser = powerJobUserOpt.get();
- BeanUtils.copyProperties(dbUser, ret);
- ret.setUsername(dbUserName);
- } else {
+ // 如果不存在用户,先同步创建用户
+ if (!powerJobUserOpt.isPresent()) {
UserInfoDO newUser = new UserInfoDO();
newUser.setUsername(dbUserName);
Loggers.WEB.info("[PowerJobLoginService] sync user to PowerJobUserSystem: {}", dbUserName);
userInfoRepository.saveAndFlush(newUser);
+
+ powerJobUserOpt = userInfoRepository.findByUsername(dbUserName);
+ }
+
+ PowerJobUser ret = new PowerJobUser();
+
+ // 理论上 100% 存在
+ if (powerJobUserOpt.isPresent()) {
+ final UserInfoDO dbUser = powerJobUserOpt.get();
+ BeanUtils.copyProperties(dbUser, ret);
ret.setUsername(dbUserName);
}