2015-09-25 18 views
11

Sto utilizzando laravel 5 e j angolare e autenticazione JWT per la registrazione e la registrazione dei miei utenti. Ma non c'è nulla di cui parlare per facilitare gli utenti con la funzionalità di ricordare me e anche consentire agli utenti di reimpostare la password quando la password dimenticata.Ricorda utenti e funzionalità password dimenticata in Laravel 5.1 e Angular JS (autenticazione JWT)

Ho studiato molto e non ho trovato esattamente quello di cui ho bisogno anche se la risposta nel seguente link è utile ma non è sufficiente per me procedere. Laravel 5 Password Reset with Angular View

Fornire informazioni e collegamenti utili. Grazie in anticipo! :)

+0

I resti di password sono disponibili in una grande varietà, puoi essere più specifico, ciò che è stato inadeguato rispetto alla domanda che hai collegato, in modo che possiamo essere più specifici con le risposte. – Alex

risposta

4

Per rispondere da una prospettiva JWT.

Ricordarsi di me è essenzialmente chiedere all'utente per quanto tempo desiderano effettuare il login. A seconda dei requisiti di sicurezza e dei modelli di utilizzo tipici degli utenti, le sessioni brevi sono spesso da 15 minuti e fino a una sessione del browser. Le sessioni lunghe (selezionando Ricordami) possono essere qualsiasi cosa, da 24 ore a un anno.

L'emittente di JWT può impostare la richiesta exp (tempo di scadenza del token) in modo diverso a seconda della selezione dell'utente della casella di controllo "Ricordami".

Se si intende che il 'Remember Me' duri più a lungo di una singola sessione del browser, il modo più semplice è quello di memorizzare il token in un cookie. Ciò significa che il cookie deve anche avere le seguenti proprietà impostate: httponly, secure e expires (con la stessa scadenza del claim exp dal token).

Le password di restituzione sono disponibili in molte forme e dimensioni a seconda delle esigenze. Queste non sono direttamente correlate alle JWT come vengono prima che l'emittente del JWT emetta un token.

+0

Grazie per la risposta @Alex. –

1

Stai chiedendo qualcosa che dovrà essere gestito in modo specifico per il tuo caso. Il modo in cui funzionano maggiormente i sistemi "ricordami" (incluso Laravel) è tramite la memorizzazione di un cookie sul dispositivo dell'utente. Tale cookie viene quindi utilizzato per autenticare automaticamente quando l'utente ritorna. JWT è diverso in quanto viene fornito un token, piuttosto che un cookie, che si restituisce al server in un'intestazione. Sono entrambe essenzialmente stringhe di lettere e numeri, ma dovrai memorizzare il token JWT sul browser dell'utente in modo specifico per un tipo di funzionalità "ricordami". Puoi farlo nell'app Angular utilizzando localStorage o qualche altra pratica di front-end simile.

Per la password dimenticata, è possibile inviare gli stessi campi modulo predefiniti a Laravel e semplicemente sovrascrivere il modo in cui PasswordController restituisce la risposta; in questo caso necessitano di una risposta JSON piuttosto che di un reindirizzamento.

+0

Grazie per la risposta @Adam –

Problemi correlati