zahmis 4 anni fa
parent
commit
4e3139d6d9

+ 4 - 2
packages/slackbot-proxy/src/controllers/slack.ts

@@ -19,7 +19,9 @@ import { InstallationRepository } from '~/repositories/installation';
 import { RelationRepository } from '~/repositories/relation';
 import { OrderRepository } from '~/repositories/order';
 import { AddSigningSecretToReq } from '~/middlewares/slack-to-growi/add-signing-secret-to-req';
-import { AuthorizeCommandMiddleware, AuthorizeInteractionMiddleware, AuthorizeEventsMiddleware } from '~/middlewares/slack-to-growi/authorizer';
+import {
+  AuthorizeCommandMiddleware, AuthorizeInteractionMiddleware, UrlVerificationMiddleware, AuthorizeEventsMiddleware,
+} from '~/middlewares/slack-to-growi/authorizer';
 import { ExtractGrowiUriFromReq } from '~/middlewares/slack-to-growi/extract-growi-uri-from-req';
 import { InstallerService } from '~/services/InstallerService';
 import { SelectGrowiService } from '~/services/SelectGrowiService';
@@ -325,7 +327,7 @@ export class SlackCtrl {
   }
 
   @Post('/events')
-  @UseBefore(AuthorizeEventsMiddleware)
+  @UseBefore(UrlVerificationMiddleware, AuthorizeEventsMiddleware)
   async handleEvent(@Req() req: SlackOauthReq): Promise<void> {
 
     const { authorizeResult } = req;

+ 1 - 9
packages/slackbot-proxy/src/middlewares/slack-to-growi/authorizer.ts

@@ -24,7 +24,7 @@ class AuthorizerService {
     this.logger = loggerFactory('slackbot-proxy:middlewares:AuthorizeCommandMiddleware');
   }
 
-   pushAuthorizedResultToRequest = async(req:SlackOauthReq, res:Res):Promise<InstallationQuery<boolean>|void> => {
+   pushAuthorizedResultToRequest = async(req:SlackOauthReq, res:Res):Promise<void> => {
      const { body } = req;
 
      let teamId;
@@ -122,14 +122,6 @@ export class AuthorizeEventsMiddleware implements IMiddleware {
   authorizerService: AuthorizerService;
 
   async use(@Req() req: SlackOauthReq, @Res() res: Res): Promise<string|void> {
-
-    // eslint-disable-next-line max-len
-    // see: https://api.slack.com/apis/connections/events-api#the-events-api__subscribing-to-event-types__events-api-request-urls__request-url-configuration--verification
-    if (req.body.type === 'url_verification') {
-      res.send(req.body.challenge);
-      return;
-    }
-
     await this.authorizerService.pushAuthorizedResultToRequest(req, res);
   }