diff --git a/open-isle-cli/src/App.vue b/open-isle-cli/src/App.vue
index 074af5061..85e25ecda 100644
--- a/open-isle-cli/src/App.vue
+++ b/open-isle-cli/src/App.vue
@@ -26,7 +26,7 @@ export default {
},
computed: {
hideMenu() {
- return ['/login', '/signup', '/404', '/signup-reason'].includes(this.$route.path)
+ return ['/login', '/signup', '/404', '/signup-reason', '/github-callback'].includes(this.$route.path)
}
}
}
diff --git a/open-isle-cli/src/views/GithubCallbackPageView.vue b/open-isle-cli/src/views/GithubCallbackPageView.vue
index 0a191ffbc..582ed13f2 100644
--- a/open-isle-cli/src/views/GithubCallbackPageView.vue
+++ b/open-isle-cli/src/views/GithubCallbackPageView.vue
@@ -1,9 +1,15 @@
- GitHub 登录中...
+
+
+
Magic is happening...
+
diff --git a/open-isle-cli/src/views/LoginPageView.vue b/open-isle-cli/src/views/LoginPageView.vue
index 39611de0b..364a3bdca 100644
--- a/open-isle-cli/src/views/LoginPageView.vue
+++ b/open-isle-cli/src/views/LoginPageView.vue
@@ -77,9 +77,11 @@ export default {
} else if (data.reason_code === 'NOT_VERIFIED') {
toast.info('当前邮箱未验证,已经为您重新发送验证码')
this.$router.push({ path: '/signup', query: { verify: 1, u: this.username } })
- } else if (data.reason_code === 'NOT_APPROVED') {
+ } else if (data.reason_code === 'IS_APPROVING') {
toast.info('您的注册正在审批中, 请留意邮件')
this.$router.push('/')
+ } else if (data.reason_code === 'NOT_APPROVED') {
+ this.$router.push('/signup-reason?token=' + data.token)
} else {
toast.error(data.error || '登录失败')
}
diff --git a/src/main/java/com/openisle/controller/AuthController.java b/src/main/java/com/openisle/controller/AuthController.java
index fdc97936d..bf8d1bddd 100644
--- a/src/main/java/com/openisle/controller/AuthController.java
+++ b/src/main/java/com/openisle/controller/AuthController.java
@@ -93,6 +93,12 @@ public class AuthController {
"user_name", user.getUsername()));
}
if (RegisterMode.WHITELIST.equals(registerModeService.getRegisterMode()) && !user.isApproved()) {
+ if (user.getRegisterReason() != null && !user.getRegisterReason().isEmpty()) {
+ return ResponseEntity.badRequest().body(Map.of(
+ "error", "Account awaiting approval",
+ "reason_code", "IS_APPROVING"
+ ));
+ }
return ResponseEntity.badRequest().body(Map.of(
"error", "Register reason not approved",
"reason_code", "NOT_APPROVED",
@@ -112,12 +118,14 @@ public class AuthController {
if (user.get().getRegisterReason() != null && !user.get().getRegisterReason().isEmpty()) {
return ResponseEntity.badRequest().body(Map.of(
"error", "Account awaiting approval",
- "reason_code", "IS_APPROVING"
+ "reason_code", "IS_APPROVING",
+ "token", jwtService.generateReasonToken(user.get().getUsername())
));
}
return ResponseEntity.badRequest().body(Map.of(
"error", "Account awaiting approval",
- "reason_code", "NOT_APPROVED"
+ "reason_code", "NOT_APPROVED",
+ "token", jwtService.generateReasonToken(user.get().getUsername())
));
}