Django REST Framework(DRF)로 전화번호 인증 시스템을 구현하려면 다음 단계를 따르세요. 이 시스템을 통해 사용자는 전화번호를 제공하고, SMS(예: Twilio를 통해)로 확인 코드를 받고, 이 코드를 확인하여 번호를 확인할 수 있습니다.
먼저 필요한 라이브러리를 설치했는지 확인하세요.
pip를 통해 설치:
1 |
|
settings.py의 INSTALLED_APPS에 Phonenumber_field 및 Rest_framework를 추가하세요.
1 2 3 4 5 6 7 8 |
|
맞춤 사용자 템플릿을 사용하는 경우 전화번호 및 확인 플래그 필드를 추가하세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
참고: 이미 사용자 모델이 있는 경우에는 Phone_number 및 is_phone_verified 필드를 적절하게 추가해야 합니다.
이 템플릿은 사용자에게 전송된 인증 코드를 저장합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Twilio를 사용하여 문자 메시지를 보낼 수 있습니다. 먼저 Twilio 계정을 만들고 필요한 자격 증명(ACCOUNT_SID, AUTH_TOKEN, FROM_NUMBER)을 획득하세요.
settings.py에 다음 구성을 추가하세요.
1 2 3 4 5 |
|
SMS 전송을 관리하기 위한 utils.py 파일 만들기:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
확인 요청 및 코드 유효성 검사를 처리하기 위한 직렬 변환기를 만듭니다.
1 |
|
확인 요청 및 코드 유효성 검사를 관리하기 위한 뷰를 만듭니다.
1 2 3 4 5 6 7 8 |
|
참고: 확인 중에 사용자를 생성하거나 기존 사용자를 다르게 관리하려는 경우 등 필요에 따라 이러한 보기를 조정할 수 있습니다.
urls.py에 해당 경로를 추가하세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
요청 보기를 편집하여 코드를 특정 사용자와 연결하거나 새 사용자를 생성하세요.
악용을 방지하려면 사용자 또는 전화번호당 인증 요청 수를 제한하세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
인증 후 사용자를 생성하거나 해당 번호를 기존 사용자와 연결할 수 있습니다.
시스템을 프로덕션 환경에 배포하기 전에 개발 환경에서 테스트해 보시기 바랍니다. 다음 사항을 확인하세요.
개요를 설명하기 위해 영향을 받는 파일의 전체 예는 다음과 같습니다.
1 2 3 4 5 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
|
1 2 3 4 5 6 7 8 9 |
|
확인 시도 제한: 무차별 대입 공격을 방지하기 위해 확인 시도 횟수를 제한하는 시스템을 구현합니다.
코드 암호화: 보안 강화를 위해 데이터베이스의 확인 코드를 암호화할 수 있습니다.
비동기 작업 사용: 성능을 향상하려면 비동기 작업(예: Celery 사용)을 사용하여 API 요청을 차단하지 않고 SMS를 보내세요.
HTTPS 구성: 보안 통신을 위해 HTTPS를 통해 API에 액세스할 수 있는지 확인하세요.
위 내용은 drf 프로젝트에서 전화번호 확인 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!