문제

내 대학이 인증을 처리하는 방법은 다음과 같습니다. 사용자를 웹 사이트로 리디렉션하고 사용자 이름과 비밀번호를 입력 한 다음 쿼리 문자열에 전달 된 사용자 이름과 로그인 키를 사용하여 다시 방향을 바꿉니다. 사용자를 다시 받으면 사용자 이름, 로그인 키 및 IP 주소를 취하는 대학 데이터베이스에서 저장된 절차를 호출하고 유효한 지 알려줍니다.

이 모든 것을 처리하기 위해 Django 사용자 정의 인증 백엔드를 설정했습니다. 비밀번호 인수를 받아 들일 수 있는지 여부 (실제로 암호를 가져 오지 않기 때문에) 어떤 식 으로든 차이가 있습니까? 지금은 로그인 키를 암호 인수로 가져갈 수 있도록 설정했습니다. 비밀번호 대신 login_key라고 말하기 위해 이것을 변경하는 것이 좋거나 나쁘거나 나쁘지 않습니까?

도움이 되었습니까?

해결책

그만큼 장고 문서 이걸 말해보세요:

어느 쪽이든, 인증은 자격 증명을 확인해야하며 자격 증명이 유효한 경우 해당 자격 증명과 일치하는 사용자 객체를 반환해야합니다. 유효하지 않으면 반환하지 않아야합니다.

'어느 쪽이든'은 authenticate () 메소드가 사용자 이름/비밀번호 조합을 취하는지 또는 토큰을 사용하는지 여부를 나타냅니다. 귀하의 시나리오는이 두 가지 사이에 떨어지므로 '가장 좋은'대답은 authenticate ()를 작성하여 사용자 이름과 로그인 키를 가져 와서 올바른 사용자를 반환하거나 적절한 사람을 반환하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top