2013-04-23 4 views
5

Ein Teil der Schönheit von BrowserID ist, dass es nur sehr wenig Infrastruktur in Ihrer Website benötigt, Sie betten einfach eine Schaltfläche mit Javascript ein und richten dann eine Callback - Route ein Daten nach der Authentifizierung. Ich würde gerne in der Lage sein, die BrowserID-Login-Schaltfläche oben auf allen meinen Seiten innerhalb der defaultLayout-Vorlage einzubetten (und dann basierend auf dem Anmeldestatus bedingt ein-/auszublenden), aber ich sehe derzeit keine Möglichkeit, dies zu tun. Die Auth-Unterwebsite funktioniert durch Einbetten ihrer "Anmeldeseite" in die defaultLayout-Vorlage, aber abgesehen davon scheint es eine vollständige Blackbox zu sein.Einbinden der BrowserID - Login - Schaltfläche im defaultLayout

Ich möchte wirklich vermeiden können, entweder meine eigenen Handler für BrowserID anmelden oder umleiten den Benutzer auf eine komplett separate Seite, die nur eine einzige BrowserID Login-Taste hat, wenn überhaupt möglich.

Gibt es eine Möglichkeit zu erreichen, was ich versuche zu tun, die ich gerade vermisse, oder ist es meine beste Wette, wirklich meinen eigenen BrowserID-Login-Code einzurollen?

auf dem Quellcode der Suche nach dem Yesod.Auth.BrowserId Modul sieht es aus wie ich in der Lage sein könnte, wie etwas zu tun:

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

, um den Login-Widget zu bekommen, aber Hijacking den Mut der Plugin wie das fühlt sich schmutzig an.

Antwort

3

Sie können verwenden, um eine Javascript-Funktion zu generieren und dann die Art von Schaltfläche/Link/Bild auf Ihrer Seite einfügen. Fügen Sie einfach einen Klick-Handler an und lassen Sie ihn diese Funktion aufrufen.

+0

Dank Michael, ich dachte, es gab eine einfache Möglichkeit, dies zu tun, ich habe nur übersehen. – Orclev

Verwandte Themen