diff --git a/apps/meteor/server/oauth2-server/model.ts b/apps/meteor/server/oauth2-server/model.ts index a9ba672854d20..3d42c4b59abb7 100644 --- a/apps/meteor/server/oauth2-server/model.ts +++ b/apps/meteor/server/oauth2-server/model.ts @@ -1,3 +1,5 @@ +import { Logger } from '@rocket.chat/logger'; + import type { AuthorizationCode, AuthorizationCodeModel, @@ -14,7 +16,9 @@ export type ModelConfig = { debug?: boolean; }; -export class Model implements AuthorizationCodeModel, RefreshTokenModel { +export const logger = new Logger('OAuth2Server'); + +class Model implements AuthorizationCodeModel, RefreshTokenModel { private debug: boolean; private grants = ['authorization_code', 'refresh_token']; @@ -25,7 +29,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { async verifyScope(token: Token, scope: string | string[]): Promise { if (this.debug === true) { - console.log('[OAuth2Server]', 'in grantTypeAllowed (clientId:', token.client.id, ', grantType:', `${scope})`); + logger.debug('in grantTypeAllowed (clientId:', token.client.id, ', grantType:', `${scope})`); } if (!Array.isArray(scope)) { @@ -38,7 +42,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { async getAccessToken(accessToken: string): Promise { if (this.debug === true) { - console.log('[OAuth2Server]', 'in getAccessToken (bearerToken:', accessToken, ')'); + logger.debug('in getAccessToken (bearerToken:', accessToken, ')'); } const token = await OAuthAccessTokens.findOneByAccessToken(accessToken); @@ -71,7 +75,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { async getClient(clientId: string, clientSecret?: string): Promise { if (this.debug === true) { - console.log('[OAuth2Server]', 'in getClient (clientId:', clientId, ', clientSecret:', clientSecret, ')'); + logger.debug('in getClient (clientId:', clientId, ', clientSecret:', clientSecret, ')'); } let client; @@ -96,7 +100,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { async getAuthorizationCode(authorizationCode: string): Promise { if (this.debug === true) { - console.log('[OAuth2Server]', `in getAuthorizationCode (authCode: ${authorizationCode})`); + logger.debug(`in getAuthorizationCode (authCode: ${authorizationCode})`); } const code = await OAuthAuthCodes.findOneByAuthCode(authorizationCode); @@ -132,9 +136,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { user: User, ): Promise { if (this.debug === true) { - console.log( - '[OAuth2Server]', - 'in saveAuthCode (code:', + logger.debug('in saveAuthCode (code:', code.authorizationCode, ', clientId:', client.id, @@ -171,9 +173,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { async saveToken(token: Token, client: Client, user: User): Promise { if (this.debug === true) { - console.log( - '[OAuth2Server]', - 'in saveToken (token:', + logger.debug('in saveToken (token:', token.accessToken, ', refreshToken:', token.refreshToken, @@ -215,7 +215,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { async getRefreshToken(refreshToken: string): Promise { if (this.debug === true) { - console.log('[OAuth2Server]', `in getRefreshToken (refreshToken: ${refreshToken})`); + logger.debug(`in getRefreshToken (refreshToken: ${refreshToken})`); } // Keep compatibility with old collection @@ -258,7 +258,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { async revokeToken(token: RefreshToken | Token): Promise { if (this.debug === true) { - console.log('[OAuth2Server]', `in revokeToken (token: ${token.accessToken})`); + logger.debug(`in revokeToken (token: ${token.accessToken})`); } if (token.refreshToken) { @@ -277,7 +277,7 @@ export class Model implements AuthorizationCodeModel, RefreshTokenModel { async revokeAuthorizationCode(code: AuthorizationCode): Promise { if (this.debug === true) { - console.log('[OAuth2Server]', `in revokeAuthorizationCode (code: ${code.authorizationCode})`); + logger.debug(`in revokeAuthorizationCode (code: ${code.authorizationCode})`); } await OAuthAuthCodes.deleteOne({ authCode: code.authorizationCode }); return true; diff --git a/apps/meteor/server/oauth2-server/oauth.ts b/apps/meteor/server/oauth2-server/oauth.ts index 45886a2d80807..59c6dab02ea15 100644 --- a/apps/meteor/server/oauth2-server/oauth.ts +++ b/apps/meteor/server/oauth2-server/oauth.ts @@ -1,3 +1,4 @@ + import OAuthServer, { OAuthError, UnauthorizedRequestError } from '@node-oauth/oauth2-server'; import { OAuthApps, Users } from '@rocket.chat/models'; import express from 'express'; @@ -5,7 +6,7 @@ import type { Express, NextFunction, Request, Response } from 'express'; import { Accounts } from 'meteor/accounts-base'; import type { ModelConfig } from './model'; -import { Model } from './model'; +import { Model, logger } from './model'; export class OAuth2Server { public app: Express; @@ -47,7 +48,7 @@ export class OAuth2Server { const debugMiddleware = function (req: Request, _res: Response, next: NextFunction) { if (config.debug === true) { - console.log('[OAuth2Server]', req.method, req.url); + logger.debug(req.method, req.url); } return next(); }; @@ -71,7 +72,7 @@ export class OAuth2Server { const transformRequestsNotUsingFormUrlencodedType = function (req: Request, _res: Response, next: NextFunction) { if (!req.is('application/x-www-form-urlencoded') && req.method === 'POST') { if (config.debug === true) { - console.log('[OAuth2Server]', 'Transforming a request to form-urlencoded with the query going to the body.'); + logger.debug('Transforming a request to form-urlencoded with the query going to the body.'); } req.headers['content-type'] = 'application/x-www-form-urlencoded'; req.body = Object.assign({}, req.body, req.query);