authentication haskell yesod

authentication - ¿Auth múltiple en Yesod?



haskell (1)

Necesito requerir múltiples tipos de autenticación en mi aplicación; en particular: algunas partes de la aplicación requieren autenticación en Dropbox, y algunas partes requieren autenticación basada en correo electrónico como browserID.

¿Cómo puedo manejar esto?

¿Puedo adjuntar autenticación a un subsitio? Dado que la clase YesodAuth toma el tipo de datos de la base maestra como su argumento en todos los ejemplos, no es obvio cómo puedo hacerlo.

Si no, ¿hay alguna otra manera?


Disculpas si mi respuesta es un tanto vaga (han pasado unos meses desde que utilicé Yesod, y el ciclo de desarrollo es bastante rápido), pero si mal no recuerdo puedes especificar múltiples variedades de autenticación dentro de la clase YesodAuth (browserID, google etc.), en cuyo caso se le proporcionaría al usuario la opción de usar en cada solicitud de autenticación. Algo como:

authPlugins _ = [ authBrowserId , authGoogleEmail ]

etc.

Ya sea que puedas o no establecer explícitamente un tipo de autenticación para cada circunstancia, no sé si tengo miedo, y si esto resuelve tu problema o no, no estoy seguro.