Yesod中的多个Auth?

rlp*_*ell 48 authentication haskell yesod

我需要在我的应用程序中要求多种身份验证类型; 特别是:应用程序的某些部分需要对dropbox进行身份验证,而某些部分则需要基于电子邮件的身份验证,例如browserID.

我怎么处理这个?

我可以将身份验证附加到子网站吗?由于YesodAuth类在所有示例中都将master foundation数据类型作为参数,因此我不知道如何做到这一点.

如果没有,还有其他方法吗?

Chi*_*res 3

如果我的回答有点模糊(自从我使用 Yesod 以来已经有几个月了,并且开发周期非常快),我深表歉意,但如果我没记错的话,您可以在 YesodAuth 类中指定多种身份验证(browserID、google等),在这种情况下,将向用户提供在每次身份验证请求时使用哪个选项的选项。就像是:

authPlugins _ = [ authBrowserId , authGoogleEmail ]

ETC。

我不知道您是否可以为每种情况显式设置一种身份验证类型,而且我不确定这是否可以解决您的问题。