2012-06-17 12 views
48

Ho bisogno di richiedere più tipi di autenticazione nella mia app; in particolare: alcune parti dell'app richiedono un'autenticazione a dropbox e alcune parti richiedono un'autenticazione basata su e-mail come browserID.Auth multipli in Yesod?

Come posso gestirlo?

Posso allegare l'autenticazione a un sito secondario? Poiché la classe YesodAuth accetta il tipo di dati di base principale come argomento in tutti gli esempi, non è ovvio come possa farlo.

In caso contrario, c'è un altro modo?

risposta

3

Mi scuso se la mia risposta è un po 'vaga (sono passati alcuni mesi da quando ho usato Yesod, e il ciclo di sviluppo è abbastanza rapido), ma se ricordo male è possibile specificare più varietà di autenticazione all'interno della classe YesodAuth (browserID, google, ecc.), nel qual caso all'utente verrà fornita l'opzione su quale utilizzare a ciascuna richiesta di autenticazione. Qualcosa di simile:

authPlugins _ = [ authBrowserId , authGoogleEmail ]

ecc

O se non è possibile impostare in modo esplicito un tipo di autenticazione per ogni circostanza non so ho paura, e se questo risolve il problema che ho' incerto.