2013-04-23 48 views
5

BrowserID的美妙之處在於它對網站基礎架構的需求非常少,只需在其中嵌入一個帶有JavaScript的按鈕,然後設置一個回調路徑來處理認證後數據。我希望能夠將BrowserID登錄按鈕嵌入到defaultLayout模板中的所有頁面的頂部(然後根據登錄狀態有條件地顯示/隱藏它),但是我目前無法執行此操作。 Auth子網站通過將其「登錄頁面」嵌入defaultLayout模板內部進行工作,但除此之外似乎是完整的黑匣子。如何在默認佈局中嵌入BrowserID登錄按鈕

我真的希望能夠避免爲我的瀏覽器ID登錄滾動自己的處理程序,或者將用戶重定向到一個完全獨立的頁面,如果可能的話,它只有一個BrowserID登錄按鈕。

有沒有一種方法可以完成我正在嘗試做的事情,我只是缺少了,或者真的是我最好的選擇,以便推出自己的BrowserID登錄代碼?

看的Yesod.Auth.BrowserId模塊,它看起來像我也許可以做這樣的事情的源代碼:

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

,以獲取登錄小部件,但劫持的膽量像這樣的插件感覺很髒。

回答

3

您可以使用createOnClick來生成Javascript函數,然後在頁面上插入任何類型的按鈕/鏈接/圖像。只需附加一個點擊處理程序並讓它調用該函數。

+0

謝謝邁克爾,我覺得有一個簡單的方法來做到這一點,我只是俯瞰。 – Orclev 2013-04-23 12:22:49