2011-01-11 12 views
38

현재 사용중인 여러 응용 프로그램에 단일 사인온 (SSO)을 구현하는 데 장고를 사용하고 싶습니다. Django를 사용하여 SSO를 구현하는 방법은 무엇입니까? SSO를 구현하는 데 사용할 수있는 Django 패키지가 있습니까? 장고를 사용하여 단일 사인온 (SSO) 구현

제발 도와주세요

당신은

+0

다른 앱에 이미 SSO 메커니즘을 사용하고 있습니까? Django 응용 프로그램입니까? (그렇다면 동일한 도메인에서 호스팅됩니까?) – AndiDog

답변

1

OpenIDopenid-auth 있습니다 감사합니다.

+0

답장을 보내 주셔서 감사합니다. django, django-openid 및 django-openid-auth에 대해 적어도 세 개의 openid 라이브러리가 있음을 알았습니다. 나는 또한 django-autophenid를 보았다. 어느 것이 가장 좋은가요? – tomrs

+18

OpenID는 단일 * 사인온 *이 아니며, 단일 * 아이디 * (또는 하나의 패스워드, 여러 사이트)입니다. – AndiDog

10

우리는 OpenAM을 사용하고 있습니다. http://forgerock.com/openam.html

OpenAM 쿠키는 사용자가 인증되었음을 의미합니다.

인증 백엔드는 매우 간단합니다. 50 줄 미만의 코드.

https://docs.djangoproject.com/en/1.7/topics/auth/customizing/#other-authentication-sources

우리는 사용자, 그룹 및 역할 정보를 얻을 수있는 OpenAM 서버에 편안한 요청을 코드의 약간을 썼다. 그런 다음 역할을 사용하여 사용자의 권한을 결정합니다.

11

를 살펴 보자 django-cas-provider + django-cas-consumer (또는 django-cas)

+13

이 시점에서 수년 동안 만진 적이없는 인증 라이브러리를 사용하는 것은 나쁜 생각 인 것 같습니다. 새로운 취약점이 일반적으로 매년 불쑥 들어오고 장고가 새 버전으로 나올 때 문제가 발생하기 때문입니다. –

+0

django-mama-cas은 신선하고 유지 관리됩니다. http://stackoverflow.com/a/36539275/1783439 –

2

를 구현하는 꽤 깔끔한 패키지이며 장고 플러그인입니다 (https://github.com/stormpath/stormpath-django). 면책 조항 : 나는 거기에서 일한다. 작동

방법은 솔직히 꽤 멋지다 : 당신은 몇 가지 settings.py 물건을 수정하여 장고 플러그인을 설치

  • .
  • 사용자가 로그인하면 login.yourdomain.com으로 리디렉션됩니다.이 사이트는 stormpath가 로그인 양식, 등록 양식, 소셜 로그인, 비밀번호 분실 등으로 호스트하는 정적 사이트입니다.
  • 정적 사이트를 github repo로 밀어 넣어 원하는대로 보이게하십시오.
  • 라이브러리는 자동으로 사용자를 로그인하고 모든 하위 도메인/프로젝트에 로그인 상태를 유지하도록합니다.

그게 전부입니다.

8

MamaCAS가 좋은 해결책 인 것으로 보입니다. (그것은 기록 당시 104 개의 별을 얻었습니다.)

MamaCAS

https://github.com/jbittel/django-mama-cas

장고 중앙 인증 서비스 (CAS) 싱글 사인온 (SSO) 및 단일 로그 아웃 서버입니다. 옵션 기능 중 일부를 포함하여 CAS 1.0, 2.0 및 3.0 프로토콜을 구현합니다.

CAS는 사용자가 자격 증명을 한 번 제공 한 후에 여러 응용 프로그램에 액세스 할 수있는 단일 로그온 및 단일 로그 아웃 웹 프로토콜입니다. 보안 티켓, 서버에서 생성 및 유효성 검사 한 고유 한 텍스트 문자열을 사용하므로 응용 프로그램이 사용자의 자격 증명 (일반적으로 사용자 ID 및 암호)에 직접 액세스하지 않고도 사용자를 인증 할 수 있습니다.

관련 문제