repoze.who.plugins.digestauth은 RFC-2617에 따라 HTTP의 다이제스트 액세스 인증을 구현 repoze.who 플러그인은 다음과 같습니다
& NBSP; HTTP : //tools.ietf.org/html/rfc2617
그것은 일반적 야생에서 사용되는 프로토콜에 대한 좋은 지원을 제공합니다 :
- 모두 QOP = "정식"과 QOP = "정식-INT"모드
- 기존 클라이언트에 대한 호환성 모드
- 클라이언트 넌스 카운트 확인
- 인증-Info 헤더를 통해 다음-넌스 세대
프로토콜의 기능은 다음과 거의 HTTP 클라이언트에서 지원되지 않으며, 따라서 아직 구현되지 않은 :
- MD5-SESS, 또는 MD5 이외의 해시 알고리즘
- 인증-Info 헤더를 통해 상호 인증
구성
다이제스트-AUTH 플러그인의 구성과 같이 표준 repoze.who config 파일에서 수행 할 수 있습니다 :
[플러그인 :으로 digestauth]
사용 = repoze.who.plugins.digestauth : make_plugin
영역 = MyRealm
get_pwdhash = 인 MyModule : get_pwdhash
다음 구성 옵션을 사용할 수 있습니다 :
- 영역 : 영역 문자열; 도전 헤더에 그대로 포함
- 도메인 : 도메인 문자열; 도전 헤더에 그대로 포함
- QOP : 보안 ( "AUTH"또는 "AUTH-INT")의 원하는 품질
- get_password : 콜백의 점으로 구분 된 이름은 사용자의 암호를 얻을 수
- get_pwdhash : 콜백의 점으로 구분 된 이름은 사용자의 암호 해시를 얻을 수 있습니다
- nonce_manager : 클래스의 점으로 구분 된 이름은 비표 관리를 위해 사용하는
인증
다이제스트 인증을 통해 사용자를 인증하려면,이 플러그인은 원시 암호 또는 사용자 이름, 암호 및 인증 영역의 MD5 다이제스트 그들의 "암호 해시"하나에 액세스 할 필요가 :
데프 calculate_pwdhash (사용자 이름, 암호, 영역)
. & NBSP; MD5를 반환 ( "%의 %의 %의"% (사용자 이름, 영역, 암호)) hexdigest ()
당신은 DigestAuthPlugin에 콜백 함수 "get_password"또는 "get_pwdhash"를 제공해야합니다.
난스 관리
다이제스트 액세스 인증의 보안은 암호화 난스의 안전한 생성 및 managent에 결정적으로 의존한다. 재생을 방지하기 위해,이 공격 서버는 반복되는 논스이 요청을 거부하여야한다.
NonceManager 클래스 : 비표 관리의 세부 사항은 repoze.who.plugins.digestauth.noncemanager에 의해 정의, 별도의 인터페이스로 추출되었다. 디폴트의 구현은 HMAC 서명 토큰 최근 본 넌스 카운트의 메모리 캐시를 사용합니다. . MPL 2.0
이 업데이트 라이센스 : 당신은 당신이 당신의 자신의 NonceManager 서브 클래스를 구현하는 것 같아서 더 특별한 요구가있는 경우
이 릴리스의 새로운 기능입니다.
이 요구 사항 :
이 파이썬
댓글을 찾을 수 없습니다