Просмотр исходного кода

Merge pull request #3728 from weseek/imprv/apply-token

Imprv/apply token
Yuki Takei 4 лет назад
Родитель
Сommit
5564ea117f
1 измененных файлов с 8 добавлено и 18 удалено
  1. 8 18
      src/server/routes/apiv3/slack-integration-settings.js

+ 8 - 18
src/server/routes/apiv3/slack-integration-settings.js

@@ -2,8 +2,6 @@ const mongoose = require('mongoose');
 const express = require('express');
 const { body } = require('express-validator');
 const axios = require('axios');
-const crypto = require('crypto');
-
 const loggerFactory = require('@alias/logger');
 
 const { getConnectionStatuses } = require('@growi/slack');
@@ -82,14 +80,6 @@ module.exports = (crowi) => {
     return configManager.updateConfigsInTheSameNamespace('crowi', params, true);
   }
 
-  // eslint-disable-next-line no-unused-vars
-  function generateAccessToken(user) {
-    const hasher = crypto.createHash('sha512');
-    hasher.update(new Date().getTime() + user._id);
-
-    return hasher.digest('base64');
-  }
-
   async function getConnectionStatusesFromProxy(tokens) {
     const csv = tokens.join(',');
 
@@ -268,29 +258,29 @@ module.exports = (crowi) => {
   /**
    * @swagger
    *
-   *    /slack-integration/access-token:
+   *    /slack-integration/access-tokens:
    *      put:
    *        tags: [SlackIntegration]
-   *        operationId:
+   *        operationId: putAccessTokens
    *        summary: /slack-integration
-   *        description: Generate accessToken
+   *        description: Generate accessTokens
    *        responses:
    *          200:
-   *            description: Succeeded to update access token for slack
+   *            description: Succeeded to update access tokens for slack
    */
   router.put('/access-tokens', loginRequiredStrictly, adminRequired, csrf, async(req, res) => {
     const SlackAppIntegration = mongoose.model('SlackAppIntegration');
     let checkTokens;
     let tokenGtoP;
     let tokenPtoG;
+    let generateTokens;
     do {
-      // TODO imple generate tokens at GW-5859. The following tokens is temporary.
-      tokenGtoP = 'v2';
-      tokenPtoG = 'v2';
+      generateTokens = SlackAppIntegration.generateAccessToken();
+      tokenGtoP = generateTokens[0];
+      tokenPtoG = generateTokens[1];
       // eslint-disable-next-line no-await-in-loop
       checkTokens = await SlackAppIntegration.findOne({ $or: [{ tokenGtoP }, { tokenPtoG }] });
     } while (checkTokens != null);
-
     try {
       const slackAppTokens = await SlackAppIntegration.create({ tokenGtoP, tokenPtoG });
       return res.apiv3(slackAppTokens, 200);