Pergunta

Veja como minha autenticação alças universitários: nós redirecionar o usuário para um site, eles entram em seu nome de usuário e senha, em seguida, eles são redirecionados de volta para nós com o nome de usuário e uma chave de login passou na cadeia de consulta. Quando chegarmos a volta do usuário, que chamamos de um procedimento armazenado no banco de dados da universidade que leva o nome de usuário, a chave de login e endereço de IP e diz-nos se isso é válido.

Eu tenho uma autenticação personalizada backend Django configurado para lidar com o nosso final de tudo isso. Faz alguma diferença de uma maneira ou outra se eu torná-lo capaz de aceitar um argumento de senha (já que não estamos realmente tendo a sua senha)? Agora, eu tenho que configurar para que ele leva a chave de login como o argumento de senha. Seria bom, mau, ou nenhum para eu mudar isso para tomar isso como exemplo, login_key em vez de como senha?

Foi útil?

Solução

O Django docs dizer o seguinte:

De qualquer maneira, autenticar deve verificar as credenciais que ele recebe, e deve retornar um objeto de usuário que corresponda essas credenciais, se as credenciais é válido. Se eles não forem válidas, ele deve retornar Nenhum.

O 'De qualquer maneira' refere-se ao facto do método authenticate () leva uma combinação nome de usuário / senha, ou apenas um token. Seu cenário cai entre os dois, então eu acho que a resposta 'melhor' seria escrever o seu authenticate () para tirar um nome de usuário e uma chave de login, e devolver o direito do usuário ou Nenhum conforme o caso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top