Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple Auth in Yesod?

I need to require multiple authentication types in my app; in particular: some parts of the app require authentication to dropbox, and some parts require email-based authentication such as browserID.

How can I handle this?

Can I attach authentication to a subsite? Since the YesodAuth class takes the master foundation data type as its argument in all the examples, it's not obvious how I can do that.

If not, is there some other way?

like image 294
rlpowell Avatar asked Jun 17 '12 05:06

rlpowell


1 Answers

Apologies if my answer is a tad vague (it's been a few months since I've used Yesod, and the dev cycle is quite rapid), but if I remember correctly you can specify multiple varieties of authentication within the YesodAuth class (browserID, google etc), in which case the user would be provided with the option as to which to use at each authentication request. Something like:

authPlugins _ = [ authBrowserId , authGoogleEmail ]

etc.

Whether or not you can explicitly set one auth type for each circumstance I do not know I'm afraid, and whether or not this solves your problem I'm unsure.

like image 192
ChrisSwires Avatar answered Sep 28 '22 02:09

ChrisSwires