瀏覽代碼

feat: api key修改

max 5 月之前
父節點
當前提交
484eec2ff4

+ 9 - 4
src/modules/api/middleware/authority.ts

@@ -68,9 +68,14 @@ export class BaseAuthorityMiddleware
           ? /* ctx?.request.query */ ''
           : ctx?.request.body;
       const merchantInfo = await this.merchantEntity.findOne({
-        where: {
-          apiSecret: `${vaKey}`,
-        },
+        where: [
+          {
+            apikey: `${vaKey}`,
+          },
+          {
+            apiSecret: `${vaKey}`,
+          },
+        ],
       });
       let customer = await this.customerEntity.findOne({
         where: {
@@ -126,7 +131,7 @@ export class BaseAuthorityMiddleware
         `${vaTimestamp}`,
         `${vaNonce}`,
         JSON.stringify(params),
-        `${vaKey}`
+        `${merchantInfo.apiSecret}`
       );
 
       if (`${sign}`.toLocaleUpperCase() !== `${vaSign}`.toLocaleUpperCase()) {

+ 3 - 0
src/modules/payment/entity/merchant.ts

@@ -21,6 +21,9 @@ export class MerchantEntity extends BaseEntity {
   @Column({ comment: '邮箱' })
   email: string;
 
+  @Column({ comment: 'API Secret', default: '' , nullable: true})
+  apikey!: string;
+  
   @Column({ comment: 'API Secret', default: '' , nullable: true})
   apiSecret!: string;
 

+ 10 - 0
src/modules/payment/service/merchant.ts

@@ -49,6 +49,11 @@ export class MerchantService extends BaseService {
       ...param,
       userId,
       apiSecret: apiSecretParams,
+      apikey:  crypto
+        .createHash('md5')
+        .update(apiSecretParams)
+        .digest('hex')
+        .toUpperCase()
     });
 
     return param.id;
@@ -119,6 +124,11 @@ export class MerchantService extends BaseService {
       mchId: params.mchId
     })
     merchant.apiSecret = this.generateSignature(`${JSON.stringify(params)}`)
+    merchant.apikey = crypto
+      .createHash('md5')
+      .update(merchant.apiSecret)
+      .digest('hex')
+      .toUpperCase();
     await this.merchantEntity.save(merchant)
     return merchant
   }