|
@@ -1,13 +1,15 @@
|
|
|
-import type { NextFunction, Response } from 'express';
|
|
|
|
|
-
|
|
|
|
|
import type { Scope } from '@growi/core/dist/interfaces';
|
|
import type { Scope } from '@growi/core/dist/interfaces';
|
|
|
|
|
+import type { NextFunction, Response } from 'express';
|
|
|
|
|
|
|
|
import { parserForAccessToken } from './access-token';
|
|
import { parserForAccessToken } from './access-token';
|
|
|
import { parserForApiToken } from './api-token';
|
|
import { parserForApiToken } from './api-token';
|
|
|
import type { AccessTokenParserReq } from './interfaces';
|
|
import type { AccessTokenParserReq } from './interfaces';
|
|
|
|
|
|
|
|
-export const accessTokenParser = (scopes?: Scope[], opts?: {acceptLegacy: boolean}) => {
|
|
|
|
|
- return async(req: AccessTokenParserReq, res: Response, next: NextFunction): Promise<void> => {
|
|
|
|
|
|
|
+export type AccessTokenParser = (scopes?: Scope[], opts?: {acceptLegacy: boolean})
|
|
|
|
|
+ => (req: AccessTokenParserReq, res: Response, next: NextFunction) => Promise<void>
|
|
|
|
|
+
|
|
|
|
|
+export const accessTokenParser: AccessTokenParser = (scopes, opts) => {
|
|
|
|
|
+ return async(req, res, next): Promise<void> => {
|
|
|
// TODO: comply HTTP header of RFC6750 / Authorization: Bearer
|
|
// TODO: comply HTTP header of RFC6750 / Authorization: Bearer
|
|
|
if (scopes == null || scopes.length === 0) {
|
|
if (scopes == null || scopes.length === 0) {
|
|
|
return next();
|
|
return next();
|