2012-04-10 8 views
2

Wir haben Händler bei einem System angemeldet, von dem wir sie mit unserer Magento-Instanz mit einem Admin-Token verbinden möchten, das sie direkt anmeldet, ohne dass sie sich manuell anmelden müssen.Gibt es eine Möglichkeit, ein Login-Token für einen Magento admin_user zu generieren?

Ich sehe das rp_token Feld in der admin_user Tabelle, aber das scheint mit einem Passwort zurückgesetzt zu sein, was wahrscheinlich nicht das ist, was wir wollen.

Haben Sie ein wenig suchen, gefunden this thread, die verwandt ist, aber beschäftigt sich mit geheimen Schlüsseln speziell (was wahrscheinlich meine zweite Herausforderung sein wird, nach der Auflösung dieser zu lösen).

Ich vermute, das wird nicht im Kern unterstützt, aber vielleicht gibt es eine gute Erweiterung da draußen, um es zu tun?

Oder wenn nicht, was wäre der beste Ansatz zu implementieren? Ich vermute, dass es wahrscheinlich ein Ereignis gibt, das ich haken könnte, um einen GET- oder POST-Parameter zu betrachten (was vielleicht ein Hash des Benutzernamens und des gehashten Passworts sein könnte), dann umgehen Sie die normale login() -Methode, die auf Benutzername und Text basiert Passwort.

Das fühlt sich an, als ob es ein wenig riskant sein könnte, obwohl? Irgendwelche Gedanken?

Antwort

1

Das fühlt sich an, als ob es ein wenig riskant sein könnte? Irgendwelche Gedanken?

Dies ist extrem riskant, aber es kann sicher durchgeführt werden. Ich kann über ein ähnliches Problem sprechen, das ich bei der Entwicklung von QuarkBar hatte, einer Verwaltungsleiste für Magento, die dieses Wochenende erscheinen soll.

Also um die Leiste anzuzeigen, muss ich überprüfen, dass der Admin angemeldet ist. Leider ist das auf dem Frontend-Modul schwer zu tun, da es zwei separate Sitzungen gibt. Um das zu umgehen habe ich eine quarkbar_session Tabelle erstellt. Ich verwende OpenSSL, um einen sicheren Verschlüsselungsschlüssel zu speichern, sobald ein Administrator angemeldet ist, den ich dann bei jeder Anfrage überprüfe und ihn mit einem Cookie abgleiche. Wenn es übereinstimmt, wird der Administrator überprüft.

Es ist ein wenig anders als das, was Sie natürlich wollen, da ich zuerst den Schlüssel, wenn der Administrator angemeldet ist (es ist ein Beobachter-Ereignis). Aber es sollte dich beginnen.

Quelle (nicht bereit für die Produktion, verwenden Sie es für Ideen): https://github.com/zschuessler/QuarkBar/tree/master/app/code/community/Zaclee/QuarkBar

Beachten Sie auch, dass ich die sicheren Schlüssel bin zu speichern, so dass ich das Admin-Backend zugreifen können. Die Lösungen in Ihrem Link sagen, es zu deaktivieren. Sie müssen QuarkBar nicht zur Implementierung herunterladen.

+0

Brilliant. Und tatsächlich funktioniert das auch für meinen Workflow, weil es bei der Account-Registrierung einen ersten Login geben wird, bei dem wir das login_success Event haken können. – kalenjordan

+0

Großartig! Ich habe vergessen hinzuzufügen, * nur * das Cookie als Flagge zu benutzen. Bewahren Sie niemals vertrauliche Daten im Cookie auf. Sei so paranoid wie möglich, wenn du deine Implementierung machst. –

Verwandte Themen