Skip to content

[BE] 회원가입 및 로그인 API 구현 #24

Description

@dotz0ver

개요

이 기능은 사용자가 웹 애플리케이션에 회원가입하고 로그인할 수 있는 기능을 구현하며, 로그인 정보를 저장하고 일정 시간 동안 활동이 없을 경우 자동으로 로그아웃되는 기능을 포함합니다.

작업 내용

  • 회원가입 API: 사용자가 회원가입할 수 있는 기능을 구현합니다.
  • 로그인 API: 사용자가 로그인할 수 있는 기능을 구현합니다.
  • 세션 타임아웃: 일정 시간 동안 활동이 없을 경우 자동으로 로그아웃되는 기능을 구현합니다.

세부 내용

  • 회원가입 API 구현
    사용자가 회원가입할 때 필요한 정보(아이디, 비밀번호, 이름, 이메일, 전화번호, 소속 병원)를 입력받아 회원가입을 처리합니다.
    입력받은 정보를 바탕으로 새로운 사용자를 생성합니다.
    비밀번호는 안전하게 해시하여 저장합니다.
    회원가입이 성공적으로 이루어진 경우, 홈 페이지로 리디렉션합니다.

  • 로그인 API 구현
    사용자가 아이디와 비밀번호를 입력하여 로그인할 수 있는 기능을 구현합니다.
    입력된 아이디와 비밀번호를 검증하여 사용자를 인증합니다.
    인증에 성공한 경우, 사용자를 로그인 처리 후 홈 페이지로 리디렉션합니다.
    인증에 실패한 경우, 적절한 오류 메시지를 반환합니다.
    "로그인 정보 저장" 기능을 추가하여 사용자가 선택한 경우 로그인 정보를 쿠키에 저장합니다.

  • 세션 타임아웃 기능 구현
    사용자가 10분 이상 활동하지 않으면 자동으로 로그아웃되도록 세션 타임아웃 기능을 구현합니다.
    세션 타임아웃 기능은 커스텀 미들웨어를 통해 구현됩니다.

  • 폼 작성
    회원가입과 로그인을 위한 폼을 작성합니다.
    회원가입 폼에는 비밀번호 확인란을 포함하여 비밀번호 일치 여부를 확인합니다.

  • URL 설정
    회원가입 및 로그인 뷰에 대한 URL을 설정합니다.

  • 템플릿 작성
    회원가입과 로그인 페이지를 위한 템플릿을 작성합니다.
    로그인 폼에 잘못된 정보 입력 시 오류 메시지를 표시합니다.

참고

  • 비밀번호 해싱: Django의 기본 인증 시스템을 사용하여 비밀번호를 안전하게 해싱합니다.
  • 폼 검증: Django의 폼 클래스를 사용하여 입력 데이터를 검증합니다.
  • 리디렉션: 회원가입 및 로그인 후 적절한 페이지로 리디렉션합니다.
  • 오류 처리: 회원가입 및 로그인 과정에서 발생할 수 있는 오류를 처리합니다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions