Skip to content

비밀번호 없는 로그인

Potato에서 비밀번호 없이 사용자 이름만으로 로그인하도록 설정합니다. 수업 데모, 빠른 연구, 외부 크라우드소싱 플랫폼 인증을 사용하는 작업에 적합합니다.

Potato는 접근의 편의성이 보안보다 더 중요한 저위험 주석 작업을 위해 비밀번호 없는 인증을 지원합니다. 이를 통해 주석자는 비밀번호 없이 사용자 이름만으로 로그인할 수 있습니다.

개요

비밀번호 없는 로그인은 다음과 같은 경우에 유용합니다.

  • 자원자와 함께 빠른 주석 연구를 진행할 때
  • 내부 팀 주석 세션을 운영할 때
  • 주석 구성을 테스트할 때
  • 인증을 외부에서 처리하는 크라우드소싱 플랫폼과 작업할 때
  • 수업 실습이나 데모를 진행할 때

구성

require_password: false로 설정하여 비밀번호 없는 로그인을 활성화합니다.

yaml
require_password: false
 
# Optional: Specify authentication method
authentication:
  method: in_memory  # Default

인증 방식

Potato는 세 가지 인증 백엔드를 지원하며, 모두 비밀번호 없는 모드와 호환됩니다.

인메모리 (기본값)

사용자는 메모리에만 저장됩니다. 서버가 재시작되면 데이터가 손실됩니다.

yaml
require_password: false
authentication:
  method: in_memory

데이터베이스

사용자가 데이터베이스에 영구 저장됩니다.

bash
export POTATO_DB_CONNECTION="sqlite:///users.db"
yaml
require_password: false
authentication:
  method: database

Clerk SSO

엔터프라이즈 싱글 사인온을 위한 Clerk 연동입니다.

bash
export CLERK_API_KEY="your_api_key"
export CLERK_FRONTEND_API="your_frontend_api"
yaml
authentication:
  method: clerk

작동 방식

비밀번호 없는 로그인을 활성화한 경우

  1. 사용자가 로그인 페이지를 방문합니다
  2. 사용자가 사용자 이름만 입력합니다
  3. 시스템이 비밀번호 확인 없이 사용자를 생성하거나 인증합니다
  4. 사용자가 주석 작업으로 진행합니다

사용자 등록

비밀번호 없는 모드에서는:

  • 새 사용자가 첫 로그인 시 자동으로 등록됩니다
  • 사용자 이름만 필요합니다
  • 추가 사용자 데이터(구성된 경우)는 여전히 수집됩니다

보안 고려 사항

비밀번호 없는 모드는 최소한의 보안만 제공합니다.

  • 신원 확인 없음: 누구나 어떤 사용자 이름이든 사용할 수 있습니다
  • 세션 가로채기: 세션을 쉽게 사칭할 수 있습니다
  • 감사 추적 무결성 없음: 사용자 행위를 암호학적으로 검증할 수 없습니다

권장 용도:

  • 내부 팀 주석
  • 수업 실습
  • 빠른 프로토타이핑
  • 외부 인증을 갖춘 플랫폼 (Prolific, MTurk)

권장하지 않는 경우:

  • 민감한 데이터 주석
  • 의료 또는 법률 주석 작업
  • 검증된 주석자 신원이 필요한 작업
  • 보상이 따르는 장기 연구

사용자 구성 파일

비밀번호 없는 모드에서도 사용자를 미리 등록할 수 있습니다.

yaml
authentication:
  user_config_path: users.jsonl

users.jsonl:

json
{"username": "annotator1"}
{"username": "annotator2"}
{"username": "admin", "role": "admin"}

마이그레이션

비밀번호 필수에서 비밀번호 없음으로

  1. 구성을 업데이트합니다:
    yaml
    require_password: false
  2. 기존 사용자는 비밀번호 사용 여부와 관계없이 계속 로그인할 수 있습니다

비밀번호 없음에서 비밀번호 필수로

  1. 구성을 업데이트합니다:
    yaml
    require_password: true
  2. 기존의 비밀번호 없는 사용자는 비밀번호를 등록해야 합니다

전체 예시

yaml
annotation_task_name: "Quick Annotation Task"
 
# Enable passwordless login for easy access
require_password: false
 
# Use database backend to persist users
authentication:
  method: database
 
# Task configuration
data_files:
  - data/instances.json
 
item_properties:
  id_key: id
  text_key: text
 
annotation_schemes:
  - name: sentiment
    annotation_type: radio
    labels: [Positive, Negative, Neutral]
    description: "Select the sentiment"

문제 해결

사용자가 로그인할 수 없는 경우

다음을 확인하십시오.

  1. 구성에 require_password: false가 설정되어 있는지
  2. 인증 백엔드가 올바르게 초기화되었는지
  3. 충돌하는 인증 설정이 없는지

사용자 데이터가 유지되지 않는 경우

in_memory 백엔드를 사용하는 경우:

  • 서버 재시작 시 사용자 데이터가 손실됩니다
  • 데이터를 유지하려면 database 백엔드로 전환하십시오

중복 사용자 이름 오류

비밀번호 없는 모드에서는, 기존 사용자 이름으로 등록을 시도하는 사용자가 단순히 해당 사용자로 로그인됩니다. 이는 사용 편의를 위한 의도된 동작입니다.

더 읽어보기

구현 세부 정보는 소스 문서를 참조하십시오.