빠른 시작
각 빠른 시작은 하나의 프레임워크를 빈 프로젝트에서 시작해, 유효한 KeenAuth 액세스 토큰만 허용하는 API 또는 사용자가 로그인할 수 있는 웹 앱까지 구성합니다. 모든 빠른 시작은 SDK 테스트 키트로 오프라인에서 실행되는 테스트가 포함된 실행 가능한 예제에서 가져오므로, 이 페이지의 코드는 테스트가 검증하는 코드입니다.
API 보호
| 프레임워크 | 빠른 시작 |
|---|---|
Go net/http |
Go API 보호 |
| Node.js Express | Express API 보호 |
| Python FastAPI | FastAPI API 보호 |
| Python Django | Django API 보호 |
네 가지 API 빠른 시작은 같은 API를 구축합니다. 공개 엔드포인트, 유효한 액세스 토큰이 필요한 엔드포인트, 그리고 messages:read 스코프까지 필요한 엔드포인트가 포함됩니다. 이 빠른 시작들은 설정을 환경 변수에서만 읽습니다.
| 변수 | 의미 |
|---|---|
KEENAUTH_ISSUER |
환경의 발급자입니다. 예: https://your-environment.eu.keenauth.app |
KEENAUTH_AUDIENCE |
API의 식별자이며, 액세스 토큰의 대상(audience)입니다. |
PUBLIC_BASE_URL |
클라이언트가 호출하는 URL입니다. 필수이며, https(http은 localhost에만 해당)입니다. |
사용자 로그인
| 프레임워크 | 빠른 시작 |
|---|---|
| Next.js (App Router) | Next.js 앱에 로그인 추가 |
| React 단일 페이지 앱 (Vite) | React 단일 페이지 앱에 로그인 추가 |
| React Router (framework mode) | React Router 앱에 로그인 추가 |
| Laravel | Laravel 앱에 로그인 추가 |
| Spring Boot | Spring Boot 앱에 로그인 추가 |
| ASP.NET Core | ASP.NET Core 앱에 로그인 추가 |
Next.js 앱은 OAuth 클라이언트이며 모든 토큰을 서버에서 보관합니다. React Router 앱도 마찬가지이며, 표준 OpenID Connect 클라이언트 openid-client를 사용합니다. React 단일 페이지 앱은 공개 클라이언트입니다. 토큰은 브라우저 메모리에 보관되며 DPoP 키에 바인딩됩니다. 다른 웹 앱은 프레임워크의 표준 OpenID Connect 클라이언트 라이브러리를 사용하고, 모든 토큰을 서버 측 세션에 보관합니다. 모든 앱은 환경 변수에서 설정을 읽고(각 페이지 참조) 사용자의 액세스 토큰으로 보호된 API를 호출합니다.
Fastify와 Flask는 같은 미들웨어를 사용합니다. 미들웨어로 API 보호를 참조하십시오.