Domanda

Ecco come la mia università gestisce l'autenticazione: reindirizziamo l'utente a un sito Web, inseriscono il loro nome utente e password, quindi vengono reindirizzati a noi con il nome utente e una chiave di accesso passati nella stringa di query. Quando richiamiamo l'utente, chiamiamo una procedura memorizzata nel database dell'università che accetta nome utente, chiave di accesso e indirizzo IP e ci dice se questo è valido.

Ho un back-end di autenticazione personalizzato Django impostato per gestire la nostra fine di tutto questo. Fa differenza in un modo o nell'altro se riesco ad accettare un argomento con password (dal momento che non stiamo effettivamente prendendo la loro password)? In questo momento, l'ho impostato in modo che prenda la chiave di accesso come argomento della password. Sarebbe bello, cattivo o nessuno per me cambiare questo per prendere questo come dire, login_key anziché come password?

È stato utile?

Soluzione

I documenti Django dicono questo:

  

In entrambi i casi, autenticare dovrebbe controllare   le credenziali che ottiene e dovrebbe   restituisce un oggetto Utente corrispondente   quelle credenziali, se le credenziali   sono validi Se non sono validi, è così   dovrebbe restituire None.

Il 'In entrambi i casi' si riferisce al fatto che il metodo authenticate () accetta una combinazione nome utente / password o solo un token. Il tuo scenario rientra tra questi due, quindi penso che la risposta "migliore" sarebbe quella di scrivere il tuo autenticato () per prendere un nome utente e una chiave di accesso e restituire l'utente giusto o nessuno come appropriato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top