BrowserID的美妙之处在于,它对网站基础设施的要求很低,您只需在一些javascript中嵌入一个按钮,然后设置一个回调路由来处理身份验证后的数据。我希望能够在defaultLayout模板内的所有页面顶部嵌入BrowserID登录按钮(然后根据登录状态有条件地显示/隐藏它),但我目前看不到这样做的方法。Auth子站点的工作原理是将其“登录页面”嵌入到defaultLayout模板中,但除此之外,它似乎是一个完全的黑盒。
如果可能的话,我真的希望能够避免滚动我自己的BrowserID登录处理程序,或者将用户重定向到一个完全独立的页面,该页面上只有一个BrowserID登录按钮。
有没有一种方法可以完成我正在尝试做的事情,而我只是错过了,或者我最好的选择真的是使用我自己的BrowserID登录代码吗?
看一下Yesod.Auth.BrowserId模块的源代码,看起来我可以这样做:
(apLogin authBrowserId) <not sure what would go here>为了获得登录窗口小部件,但是劫持插件的内部感觉很脏。
发布于 2013-04-23 17:02:14
您可以使用createOnClick生成一个Javascript函数,然后在页面上插入任何类型的按钮/链接/图像。只需附加一个click处理程序并让它调用该函数。
https://stackoverflow.com/questions/16159764
复制相似问题