Django 및 DRF 기반 프로젝트에서 동일한 시나리오를 실행했으며 JWT를 사용하여 Single Sign-On을 구현하려고했습니다. djangorestframework-jwt 라이브러리는 서로 다른 프로젝트간에 SSO 기능을 제공하는 데 거의 집중하지 않았기 때문에 신뢰 정의와 공개/개인 키 쌍을 올바르게 설정하는 새로운 라이브러리를 만들었습니다.
은이 라이브러리는 JWT 토큰의 두 가지 유형을 제공합니다
만료되지 않는 기본 로그인 응용 프로그램에 대한 세션 토큰 (일명 "새로 고침 토큰".)에 액세스하기위한
단명 인증 토큰 다른 앱 (기본 앱에서 제공하는 권한을 포함)
클라이언트가 기본 로그인 애플리케이션에 처음 로그인해야합니다 사용자 이름과 비밀번호를 게시하여 클라이언트는 동일한 서버에 대한 후속 요청을 인증 할 수있는 영구 세션 토큰을 받게됩니다. 이 토큰에는 사용 권한/권한 부여 정보가 포함되어 있지 않으므로 SSO를 다른 응용 프로그램에 사용할 수 없습니다.
그런 다음 클라이언트는 세션 토큰을 사용하여 권한 토큰을 가져 와서 갱신해야합니다. 이러한 보조 토큰은 수명이 짧으며 (15 분 1 시간) 사용자가 발급 시점에서 가지고있는 사용 권한을 포함합니다. 이러한 토큰은 다른 서비스에 액세스하는 데 사용되며, 그러면 토큰의 유효 기간 동안 JWT 페이로드의 사용 권한을 신뢰합니다.
현재 버전은 v0.0.3 (알파)이지만 베타 버전과 최종 제품 품질 릴리스로 빠르게 이동하고 있습니다. API는 이미 비교적 안정적이며 2016 년 6 월 30 일까지 최종본이어야합니다. 프레임 워크는 베타 단계에 도달 한 다음 주에 전체 테스트 범위를 갖습니다.
프로젝트 페이지와 github에서 README를 확인하십시오.
https://github.com/namespace-ee/django-rest-framework-sso
https://pypi.python.org/pypi/djangorestframework-sso
은이 사용 사례에 맞는 것이 있으면 알려 주시기 바랍니다, 그것은이있는 경우 모든 기능이 필요합니다. 설정에 대해 기꺼이 도와 드리겠습니다.
시도해 보셨습니까? https://github.com/JamesRitchie/django-rest-framework-expiring-tokens –