diff --git a/backend/src/controllers/SessionController.ts b/backend/src/controllers/SessionController.ts index 1355bd4..d1fb6c6 100644 --- a/backend/src/controllers/SessionController.ts +++ b/backend/src/controllers/SessionController.ts @@ -7,7 +7,7 @@ import { RefreshTokenService } from "../services/AuthServices/RefreshTokenServic import createOrUpdateOnlineUserService from "../services/UserServices/CreateOrUpdateOnlineUserService"; import { removeUserFromOlineList } from "../helpers/removeUserFromOnlineList"; -import { TokenExchangeService, verifyTokenFromWebService } from "../services/AuthServices/TokenExchangeService"; +import { TokenExchangeService, verifyTokenFromTeamsService, verifyTokenFromWebService } from "../services/AuthServices/TokenExchangeService"; // const usersSocket = require("./../libs/socket"); const usersSocket = require("../libs/socket"); @@ -91,7 +91,7 @@ export const tokenExchange = async ( const platformIsFromWeb = platform === "web"; let tokenExchanged = await TokenExchangeService({ token: token, - tokenVerifier: platformIsFromWeb ? verifyTokenFromWebService : verifyTokenFromWebService + tokenVerifier: platformIsFromWeb ? verifyTokenFromWebService : verifyTokenFromTeamsService }) SendRefreshToken(res, tokenExchanged.refreshToken); diff --git a/backend/src/services/AuthServices/TokenExchangeService.ts b/backend/src/services/AuthServices/TokenExchangeService.ts index 5ba6c41..3882ee2 100644 --- a/backend/src/services/AuthServices/TokenExchangeService.ts +++ b/backend/src/services/AuthServices/TokenExchangeService.ts @@ -41,10 +41,6 @@ export const verifyTokenFromWebService = async (token: string): Promise => { const { payload: userPayload } = await verifyTeamsToken(token) - if (userPayload.aud !== authConfig.hitphone.teams.CLIENT_ID) { - throw new AppError("ERR_TOKEN_AUD_INVALID", 401); - } - const requiredFields = ["aud", "tid", "oid", "preferred_username"]; for (const key of requiredFields) { if (!userPayload[key]) { @@ -52,6 +48,10 @@ export const verifyTokenFromTeamsService = async (token: string): Promise Promise + type TokenExchangeServiceRequest = { token: string; - tokenVerifier: (token: string) => Promise + tokenVerifier: TokenVerifier } export type TokenExchangeServiceResponse = { @@ -82,7 +84,7 @@ export const TokenExchangeService = async ( const { email } = await tokenVerifier(token); const user = await User.findOne({ - where: { email }, + where: { identifier: email }, include: ["queues"] }); diff --git a/backend/src/services/External/HitphoneServices/ClientExists.ts b/backend/src/services/External/HitphoneServices/ClientExists.ts index d17841b..9332ac6 100644 --- a/backend/src/services/External/HitphoneServices/ClientExists.ts +++ b/backend/src/services/External/HitphoneServices/ClientExists.ts @@ -3,7 +3,7 @@ import authConfig from "../../../config/auth"; import { responseOk } from "./utils/fetch"; export const fetchWithKey: typeof fetch = async (endpoint, options) => { - const response = await fetch(authConfig.hitphone.CLIENT_SERVICE_URL + endpoint, { + const response = await fetch(authConfig.hitphone.CLIENT_SERVICE_URL + '/api/' + endpoint, { ...options, headers: { ...options?.headers,