Browse Source

update UserKey in oss-console

reghao 1 năm trước cách đây
mục cha
commit
9b4f24d4e7

+ 5 - 5
oss-console/src/main/java/cn/reghao/oss/console/app/controller/page/UserKeyController.java

@@ -22,17 +22,17 @@ public class UserKeyController {
         this.userKeyService = userKeyService;
     }
 
-    @ApiOperation(value = "创建帐号")
+    @ApiOperation(value = "创建 oss key")
     @PostMapping(value = "/create", produces = MediaType.APPLICATION_JSON_VALUE)
     public String create() {
         Result result = userKeyService.create();
         return WebResult.result(result);
     }
 
-    @ApiOperation(value = "删除帐号")
-    @DeleteMapping(value = "/delete/{accessKeyId}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String delete(@PathVariable("accessKeyId") String accessKeyId) {
-        userKeyService.delete(accessKeyId);
+    @ApiOperation(value = "重新生成  oss key")
+    @PostMapping(value = "/regenerate", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String delete() {
+        userKeyService.regenerate();
         return WebResult.success();
     }
 }

+ 0 - 1
oss-console/src/main/java/cn/reghao/oss/console/app/db/mapper/UserKeyRepository.java

@@ -9,5 +9,4 @@ import cn.reghao.oss.console.app.model.po.UserKey;
  */
 public interface UserKeyRepository extends BaseMapper<UserKey> {
     UserKey findByCreateBy(int createBy);
-    UserKey findByAccessKeyId(String accessKeyId);
 }

+ 0 - 1
oss-console/src/main/java/cn/reghao/oss/console/app/db/repository/UserKeyRepository.java

@@ -9,5 +9,4 @@ import org.springframework.data.jpa.repository.JpaRepository;
  */
 public interface UserKeyRepository extends JpaRepository<UserKey, Integer> {
     UserKey findByCreateBy(int createBy);
-    UserKey findByAccessKeyId(String accessKeyId);
 }

+ 19 - 11
oss-console/src/main/java/cn/reghao/oss/console/app/service/UserKeyService.java

@@ -44,19 +44,20 @@ public class UserKeyService {
     }
 
     public Result auth(KeyAuthDto keyAuthDto) {
-        String accessKeyId = keyAuthDto.getAccessKeyId();
-        UserKey userKey = userKeyRepository.findByAccessKeyId(accessKeyId);
+        int loginUser = UserContext.getUserId();
+        UserKey userKey = userKeyRepository.findByCreateBy(loginUser);
         if (userKey == null) {
             return Result.fail("key not exist");
         }
 
-        if (!userKey.getAccessKeySecret().equals(keyAuthDto.getAccessKeySecret())) {
-            return Result.fail("secret not matched");
+        String accessKeyId = keyAuthDto.getAccessKeyId();
+        String accessKeySecret = keyAuthDto.getAccessKeySecret();
+        if (userKey.getAccessKeyId().equals(accessKeyId) && userKey.getAccessKeySecret().equals(accessKeySecret)) {
+            String token = getToken(loginUser);
+            return Result.success(token);
         }
 
-        int loginUser = userKey.getCreateBy();
-        String token = getToken(loginUser);
-        return Result.success(token);
+        return Result.fail("secret not matched");
     }
 
     public String getToken(int loginUser) {
@@ -74,11 +75,18 @@ public class UserKeyService {
         return ossPayload.getUserId();
     }
 
-    public void delete(String accessKeyId) {
-        UserKey userKey = userKeyRepository.findByAccessKeyId(accessKeyId);
-        if (userKey != null) {
-            userKeyRepository.delete(userKey);
+    public void regenerate() {
+        int loginUser = UserContext.getUserId();
+        UserKey userKey = userKeyRepository.findByCreateBy(loginUser);
+        if (userKey == null) {
+            return;
         }
+
+        String accessKeyId = RandomString.getString(8);
+        String accessKeySecret = RandomString.getString(18);
+        userKey.setAccessKeyId(accessKeyId);
+        userKey.setAccessKeySecret(accessKeySecret);
+        userKeyRepository.save(userKey);
     }
 
     public List<UserKeyVo> getUserKeys() {

+ 2 - 15
oss-console/src/main/resources/templates/userkey/index1.html

@@ -8,24 +8,10 @@
 <body class="timo-layout-page">
 <div class="layui-card">
     <div class="layui-card-header timo-card-header">
-        <span><i class="fa fa-bars"></i> 我的帐号列表</span>
+        <span><i class="fa fa-bars"></i> 我的 Key 列表</span>
         <i class="layui-icon layui-icon-refresh refresh-btn"></i>
     </div>
     <div class="layui-card-body">
-        <div class="layui-row timo-card-screen put-row">
-            <div class="layui-row timo-card-screen put-row">
-                <div class="pull-right">
-                    <div class="btn-group-right">
-                        <button class="layui-btn">
-                            <a class="ajax-post" th:attr="data-msg='确定要创建 key'"
-                               th:href="@{'/api/store/my/key/create'}">
-                                <i class="fa fa-plus"></i> 创建
-                            </a>
-                        </button>
-                    </div>
-                </div>
-            </div>
-        </div>
         <div class="timo-table-wrap">
             <table class="layui-table timo-table">
                 <thead>
@@ -40,6 +26,7 @@
                     <td th:text="${item.accessKeyId}">应用名</td>
                     <td th:text="${item.accessKeySecret}">应用 ID</td>
                     <td>
+                        <a class="ajax-post" th:attr="data-msg='确定要重新生成?'" th:href="@{'/api/store/my/key/regenerate'}">重新生成</a>
                         <a class="ajax-delete" th:attr="data-msg='确定要删除 '+ ${item.accessKeyId}"
                            th:href="@{'/api/store/my/key/delete/' + ${item.accessKeyId}}">删除</a>
                     </td>