Skip to content

SuperTokens

오픈소스 Auth 서비스

Features

주요 컴포넌트

  • SuperToken Core : Java 로 만들어진 HTTP 서비스. 실제 비즈니스 로직
  • Frontend SDK : 웹/iOS/Android/ReactNative 등 지원하는 로그인 UI 관련 기능
  • Backend SDK / Driver : NodeJS,Flask,Golang 등 다양한 백엔드 프레임워크와 연동하여 SuperToken Core와 통신
  • Database Plugin : MySQL,PostgresSQL,MongoDB,SQLite 등
  • Y Combinator가 투자

Session Management

  • 세션 생성, 확인, 새로 고침 및 취소
  • httpOnly 쿠키 사용과 같은 모든 세션 모범 사례를 따릅니다.
  • 세션 고정, CSRF 또는 무차별 대입 공격과 같은 일반적인 세션 취약점을 방지합니다.
  • 교체 새로 고침 토큰을 사용하여 세션 하이재킹 감지
  • 최적의 성능 - 세션 확인 < 1MS
  • 사용자를 로그아웃하지 않고 자동 JWT 서명 키 순환
  • 사용자 ID가 주어진 모든 세션을 가져오는 기능
  • 프런트엔드에서 안전하게 세션 데이터 읽기
  • 세션 및 JWT 페이로드 조작

Self Hosting

Docker:

docker run -p 3567:3567 -d registry.supertokens.io/supertokens/supertokens-postgresql:4.3

Docker Compose:

version: '3'

services:
  db:
    image: 'postgres:latest'
    environment:
      POSTGRES_USER: supertokens_user 
      POSTGRES_PASSWORD: somePassword 
      POSTGRES_DB: supertokens
    ports:
      - 5432:5432
    networks:
      - app_network
    restart: unless-stopped
    healthcheck:
      test: ['CMD', 'pg_isready -U supertokens_user']
      interval: 5s
      timeout: 5s
      retries: 5

  supertokens:
    image: registry.supertokens.io/supertokens/supertokens-postgresql:4.3
    depends_on:
      db:
        condition: service_healthy
    ports:
      - 3567:3567
    environment:
      POSTGRESQL_CONNECTION_URI: "postgresql://supertokens_user:somePassword@db:5432/supertokens"
    networks:
      - app_network
    restart: unless-stopped
    healthcheck:
      test: >
        bash -c 'exec 3<>/dev/tcp/127.0.0.1/3567 && echo -e "GET /hello HTTP/1.1\r\nhost: 127.0.0.1:3567\r\nConnection: close\r\n\r\n" >&3 && cat <&3 | grep "Hello"'
      interval: 10s
      timeout: 5s
      retries: 5

networks:
  app_network:
    driver: bridge

See also

Favorite site