실험적인 Hono auth npm 패키지
Source: Dev.to
내가 만들고 있는 것
저는 개발자들이 일반적인 보일러플레이트(로그인, 회원가입, JWT, 이메일 인증 등)를 작성하지 않고도 앱에 바로 넣을 수 있는 인증 패키지를 만들고 있습니다.
import { initAuth } from "auth-core";
const auth = initAuth({
DB_TYPE: "mongo",
existingConnection: db,
DATABASE_URL: // optional if connection doesn’t already exist
});
패키지는 선택적인 라우트 핸들러도 지원해야 합니다. 예를 들어:
app.route("/auth", honoAuthRoutes());
또는 Remix 내부에서:
server.use("/auth/*", honoAuthRoutes());
요약하면: 플러그인 형태의 인증.
이 프로젝트가 되길 바라는 목표
- 프레임워크에 구애받지 않음 – Remix, Hono, Express 등에서 동작합니다.
- 사용자가 자체 데이터베이스 연결을 전달할 수 있습니다.
- 별도의 서버를 실행할 필요가 없습니다.
겪고 있는 문제들
- npm 패키지가 Hono에 직접 의존하지 않기를 원합니다.
- 핵심 인증 로직은 깔끔해야 하지만, 테스트와 라우트 어댑터는 여전히 Hono가 필요합니다.
- Hono를
peerDependency로 설정해야 할지, 아니면 다른 방식으로 처리해야 할지 확신이 없습니다. - Remix와 Hono를 함께 사용하는 것이 어색합니다; 현재 Remix 사용자는 자신의 Remix 서버 안에 Hono 서버를 띄워야 하는데, 이는 올바른 접근처럼 보이지 않습니다.
- 모든 사용자가 모든 프레임워크를 설치하도록 강요하지 않으면서 라우트 핸들러를 깔끔하게 내보낼 방법이 필요합니다.
조언이 필요한 부분
- 의존성 구조 – 핵심, 선택적 어댑터, 프레임워크별 코드를 어떻게 구성해야 할까요?
- Remix 내부에 Hono 라우트를 마운트하는 것 – 이것이 허용되는 방법인지, 아니면 더 좋은 접근법이 있는지?
- 전체 아키텍처 – 패키지 구조, 어댑터 처리, 프레임워크별로 필요한 부분만 노출하는 방법에 대한 제안.
특히 다음 분야에서의 경험을 바탕으로 한 팁, 제안, 경고를 환영합니다:
- 인증 시스템
- SDK
- 재사용 가능한 npm 패키지
- 프레임워크 어댑터
저장소
GitHub – AuthenticationSystem (server branch) – 작동 중인 API 코드를 포함하고 있습니다.