♻️ refactor: app token and oAuth endpoint request
These changes include: 1. Replacing the app token with a standard authorization barrier. 2. Changing the response body in the OAuth request by wrapping the endpoint link with a structure instead of placing it in the callback payload data.
This commit is contained in:
@ -3,10 +3,14 @@ import { returnErrorResponse } from "../../helpers/callback/httpResponse";
|
|||||||
|
|
||||||
export const appAccessTokenMiddleware = () =>
|
export const appAccessTokenMiddleware = () =>
|
||||||
new Elysia().onRequest(({ request, set }) => {
|
new Elysia().onRequest(({ request, set }) => {
|
||||||
const headerToken = request.headers.get("access_token");
|
const headerToken = request.headers.get("authorization");
|
||||||
const storedToken = process.env.API_KEY;
|
if (!headerToken) return returnErrorResponse(set, 401, "Unauthorized");
|
||||||
|
|
||||||
if (headerToken !== storedToken) {
|
const storedToken = process.env.API_KEY;
|
||||||
return returnErrorResponse(set, 403, "Unauthorized");
|
const [scheme, token] = headerToken.split(" ");
|
||||||
}
|
|
||||||
|
if (scheme !== "Bearer" || !token)
|
||||||
|
return returnErrorResponse(set, 401, "Invalid auth format");
|
||||||
|
if (token !== storedToken)
|
||||||
|
return returnErrorResponse(set, 403, "Forbidden");
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,10 +1,17 @@
|
|||||||
import { Context } from "elysia";
|
import { Context } from "elysia";
|
||||||
import { mainErrorHandler } from "../../../helpers/error/handler";
|
import { mainErrorHandler } from "../../../helpers/error/handler";
|
||||||
import { getOauthProvidersService } from "../services/http/getOauthProviders.service";
|
import { getOauthProvidersService } from "../services/http/getOauthProviders.service";
|
||||||
|
import { returnReadResponse } from "../../../helpers/callback/httpResponse";
|
||||||
|
|
||||||
export const getOauthProvidersController = (ctx: Context) => {
|
export const getOauthProvidersController = (ctx: Context) => {
|
||||||
try {
|
try {
|
||||||
return getOauthProvidersService();
|
const oauthProviderServices = getOauthProvidersService();
|
||||||
|
return returnReadResponse(
|
||||||
|
ctx.set,
|
||||||
|
200,
|
||||||
|
"Getting all oauth available list",
|
||||||
|
oauthProviderServices
|
||||||
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return mainErrorHandler(ctx.set, error);
|
return mainErrorHandler(ctx.set, error);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,10 +6,7 @@ export const githubRequestController = async (
|
|||||||
ctx: Context & { query: { callback?: string } }
|
ctx: Context & { query: { callback?: string } }
|
||||||
) => {
|
) => {
|
||||||
const loginUrl = await githubRequestService(ctx.query.callback);
|
const loginUrl = await githubRequestService(ctx.query.callback);
|
||||||
return returnReadResponse(
|
return returnReadResponse(ctx.set, 200, "Login URL generated successfully", {
|
||||||
ctx.set,
|
endpointUrl: loginUrl,
|
||||||
200,
|
});
|
||||||
"Login URL generated successfully",
|
|
||||||
loginUrl
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -8,12 +8,9 @@ export const googleRequestController = async (
|
|||||||
) => {
|
) => {
|
||||||
try {
|
try {
|
||||||
const loginUrl = await googleRequestService(ctx.query.callback);
|
const loginUrl = await googleRequestService(ctx.query.callback);
|
||||||
return returnReadResponse(
|
return returnReadResponse(ctx.set, 200, "Google login url created!", {
|
||||||
ctx.set,
|
endpointUrl: loginUrl,
|
||||||
200,
|
});
|
||||||
"Google login url created!",
|
|
||||||
loginUrl
|
|
||||||
);
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return mainErrorHandler(ctx.set, error);
|
return mainErrorHandler(ctx.set, error);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user