Skip to content

Commit

Permalink
Fix Schema
Browse files Browse the repository at this point in the history
  • Loading branch information
istarkov committed Aug 23, 2024
1 parent 0d2777f commit 0b971af
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
8 changes: 4 additions & 4 deletions apps/builder/app/routes/oauth.ws.authorize.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ const createOauthError =
*
* https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1
*/
const OAuthParamsSchema = z.object({
const OAuthParams = z.object({
// Ensure that the response_type is valid and supported by the authorization server (e.g., code for the authorization code grant type).
response_type: z.literal("code"),
redirect_uri: z.string().url(),
Expand All @@ -56,7 +56,7 @@ const OAuthParamsSchema = z.object({
code_challenge_method: z.literal("S256"),
});

const OAuthRedirectUriSchema = z.object({
const OAuthRedirectUri = z.object({
redirect_uri: z.string().url(),
});

Expand All @@ -74,7 +74,7 @@ export const loader: LoaderFunction = async ({ request }) => {
const url = new URL(request.url);
const searchParams = Object.fromEntries(url.searchParams);

const parsedRedirect = OAuthRedirectUriSchema.safeParse(searchParams);
const parsedRedirect = OAuthRedirectUri.safeParse(searchParams);

if (false === parsedRedirect.success) {
debug("redirect_uri not provided in query params");
Expand Down Expand Up @@ -113,7 +113,7 @@ export const loader: LoaderFunction = async ({ request }) => {

let oauthError = createOauthError(redirect_uri, searchParams.state);

const parsedOAuthParams = OAuthParamsSchema.safeParse(searchParams);
const parsedOAuthParams = OAuthParams.safeParse(searchParams);

if (false === parsedOAuthParams.success) {
debug(fromError(parsedOAuthParams.error).toString());
Expand Down
4 changes: 2 additions & 2 deletions apps/builder/app/routes/oauth.ws.token.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { isUserAuthorizedForProject } from "~/services/builder-access.server";
*
* https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3
*/
const TokenRequestSchema = z.object({
const TokenRequest = z.object({
// Check that the grant_type parameter is present and is one of the supported values
grant_type: z.literal("authorization_code"),
code: z.string(),
Expand All @@ -43,7 +43,7 @@ export const action = async ({ request }: ActionFunctionArgs) => {
const jsonBody = Object.fromEntries((await request.formData()).entries());
debug("Token request received", jsonBody);

const parsedBody = TokenRequestSchema.safeParse(jsonBody);
const parsedBody = TokenRequest.safeParse(jsonBody);

if (false === parsedBody.success) {
debug(fromError(parsedBody.error).toString());
Expand Down
12 changes: 6 additions & 6 deletions apps/builder/app/services/token.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ export const verifyChallenge = async (
return base64Hash === codeChallenge;
};

const CodeTokenPayloadEncSchema = z.object({
const CodeTokenPayload = z.object({
userId: z.string(),
projectId: z.string(),
codeChallenge: z.string(),
});

type CodeTokenPayload = z.infer<typeof CodeTokenPayloadEncSchema>;
type CodeTokenPayload = z.infer<typeof CodeTokenPayload>;

/**
* JWT is used because it includes a signature check and expiration,
Expand Down Expand Up @@ -127,17 +127,17 @@ export const readCodeToken = async (

const token = await jwt.decode(jwtToken);

const parsedToken = CodeTokenPayloadEncSchema.parse(token.payload);
const parsedToken = CodeTokenPayload.parse(token.payload);

return parsedToken;
};

const AccessTokenPayloadSchema = z.object({
const AccessTokenPayload = z.object({
userId: z.string(),
projectId: z.string(),
});

type AccessTokenPayload = z.infer<typeof AccessTokenPayloadSchema>;
type AccessTokenPayload = z.infer<typeof AccessTokenPayload>;

/**
* JWT is used because it includes a signature check and expiration,
Expand Down Expand Up @@ -172,7 +172,7 @@ export const readAccessToken = async (

const token = jwt.decode(accessToken);

const parsedToken = AccessTokenPayloadSchema.parse(token.payload);
const parsedToken = AccessTokenPayload.parse(token.payload);

return parsedToken;
};

0 comments on commit 0b971af

Please sign in to comment.