5

BrowserID 的部分优点在于它对您网站上的基础架构要求非常低,您只需嵌入一个带有一些 javascript 的按钮,然后设置一个回调路由来处理身份验证后数据。我希望能够在 defaultLayout 模板内的所有页面顶部嵌入 BrowserID 登录按钮(然后根据登录状态有条件地显示/隐藏它),但我目前看不到这样做的方法。Auth 子站点通过将其“登录页面”嵌入到 defaultLayout 模板中来工作,但除此之外,它似乎是一个完整的黑盒。

如果可能的话,我真的希望能够避免滚动我自己的 BrowserID 登录处理程序或将用户重定向到一个完全独立的页面,该页面上只有一个 BrowserID 登录按钮。

有没有办法完成我正在尝试做的我只是想念的事情,或者我最好的选择真的是推出我自己的 BrowserID 登录代码?

查看 Yesod.Auth.BrowserId 模块的源代码,看起来我可以执行以下操作:

(apLogin authBrowserId) <not sure what would go here>

为了获得登录小部件,但像这样劫持插件的胆量感觉很脏。

4

1 回答 1

3

您可以使用createOnClick生成一个 Javascript 函数,然后在您的页面上插入任何类型的按钮/链接/图像。只需附加一个点击处理程序并让它调用该函数。

于 2013-04-23T09:02:13.523 回答