feat(extension): 采集插件功能开发
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
import { CanActivate, ExecutionContext, Inject, Injectable } from '@nestjs/common';
|
||||
import { ExtensionService } from './extension.service.js';
|
||||
|
||||
export type ExtensionAuthenticatedRequest = {
|
||||
header: (name: string) => string | undefined;
|
||||
extensionAuth: { userId: string; workspaceId: string; sessionId: string; clientId: string };
|
||||
};
|
||||
|
||||
@Injectable()
|
||||
export class ExtensionAccessGuard implements CanActivate {
|
||||
public constructor(@Inject(ExtensionService) private readonly extension: ExtensionService) {}
|
||||
public async canActivate(context: ExecutionContext) {
|
||||
const request = context.switchToHttp().getRequest<ExtensionAuthenticatedRequest>();
|
||||
request.extensionAuth = await this.extension.authenticate(request.header('authorization'));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user