feat(api): authentication
This commit is contained in:
@@ -23,3 +23,14 @@ export const DEFAULT_SOURCE_IMAGE = "https://devscast.org/images/sources/";
|
||||
export const DEFAULT_PUBLICATION_GRAPH_DAYS = 30;
|
||||
export const DEFAULT_CATEGORY_SHARES_LIMIT = 10;
|
||||
export const DEFAULT_TIMEZONE = "Africa/Lubumbashi";
|
||||
|
||||
export const DEFAULT_ACCESS_TOKEN_COOKIE = "basango.access_token";
|
||||
export const DEFAULT_REFRESH_TOKEN_COOKIE = "basango.refresh_token";
|
||||
export const DEFAULT_ENCRYPTION_ALGORITHM = "aes-256-gcm";
|
||||
export const DEFAULT_IV_LENGTH = 16;
|
||||
export const DEFAULT_AUTH_TAG_LENGTH = 16;
|
||||
export const DEFAULT_BCRYPT_SALT_ROUNDS = 12;
|
||||
export const DEFAULT_TOKEN_AUDIENCE = "basango_dashboard";
|
||||
export const DEFAULT_TOKEN_ISSUER = "basango_api";
|
||||
export const DEFAULT_ACCESS_TOKEN_TTL = "15m";
|
||||
export const DEFAULT_REFRESH_TOKEN_TTL = "7d";
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { z } from "@hono/zod-openapi";
|
||||
|
||||
export const loginSchema = z.object({
|
||||
email: z.email().openapi({
|
||||
description: "Email address used to authenticate the user.",
|
||||
example: "user@example.com",
|
||||
}),
|
||||
password: z.string().min(8).openapi({
|
||||
description: "Account password.",
|
||||
example: "••••••••",
|
||||
}),
|
||||
});
|
||||
|
||||
export const refreshSessionSchema = z.object({
|
||||
refreshToken: z.string().min(1).openapi({
|
||||
description: "Refresh token returned when logging in.",
|
||||
}),
|
||||
});
|
||||
@@ -1,4 +1,5 @@
|
||||
export * from "./articles";
|
||||
export * from "./auth";
|
||||
export * from "./shared";
|
||||
export * from "./sources";
|
||||
export * from "./users";
|
||||
|
||||
Reference in New Issue
Block a user