2017-11-05 1 views
0

Django Rest Framework와 Android 클라이언트를 사용하는 응용 프로그램에서 토큰 기반 인증을 구현하려고합니다.Django Rest Framework에서 토큰 기반 인증을 사용하는 방법

이 방법은 as far as I understand입니다. 과 함께 client IDclient secret을 API 끝점으로 보내야합니다.

access tokenis gotten from the Django Rest Framework 수 있도록 :

Token.objects.create(user=instance) 

내가 함께이 모든 접착제을 명확히하고 싶은 몇 가지 질문이 있습니다.

  1. 은 어떻게 client ID와 장고 나머지 프레임 워크에서 client secret 처리하나요?

  2. client IDclient secret을 Android에 저장하려면 어떻게해야하나요? 단순히 문자열로 저장할 수는 없습니다. 누군가가 APK에서 문자열 리터럴을 찾을 수 있습니다.

+1

oauth2 사용을 주장하는 경우 - 서버 측에서이 응용 프로그램을 사용하는 것이 가장 좋습니다. https://django-oauth-toolkit.readthedocs.io/en/latest/rest-framework/getting_started.html – mariodev

+0

@mariodev . 고맙지 만 암호를 사용하지 않으려합니다. 나는 단순히 서버에 의해 생성 된 고유 한 토큰을 사용하고자한다 : http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication 그러나 제안 된 라이브러리에는 암호, 사용자 이름 아니? –

+0

oauth2의 작동 방식에 대해 더 자세히 읽어보십시오 (다른 권한 부여 유형을 선택하면이 예제에서는 암호로 가정합니다) – mariodev

답변

1

체크 아웃 Django Rest Framework JWT 는 JWT 토큰 인증을위한 매우 정직하고 구현이있다. 실제로 보안에 신경 쓰면 해시 된 클라이언트 ID &을 데이터베이스에 저장할 수 있습니다. 단점은 고객이 클라이언트를 잃어버린 경우이를 검색 할 수 없다는 것입니다.

관련 문제