Rails freundliches URL-Routing mit offener id
-
03-07-2019 - |
Frage
Ich mag einen Schiene Weg für einen Benutzer offen ID verwenden erstellen. Die URL würde in etwa so aussehen
http://mysite.com/identity/:html_encoded_openid
or
http://mysite.com/identity/:html_encoded_openid.xml
Das wäre so, dass die Seite für eine offene ID und entweder Informationen für die Identität oder erhalten ein XML-Dokument, dass die Informationen enthalten, anzuzeigen abgefragt werden könnten. Standard Rails Zeug.
Ich bin für Ihr Know-how auf ein paar Dinge:
-
Standardschienen Routen scheinen die .s in einer OpenID, so dass zu ersticken:
http://mysite.com/identity/openid
würde eine Route finden, aber
http://mysite.com/identity/openid.myopenid.com
würde nicht.
-
Was Fragen der Sicherheit würde ich brauche zu achten?
- Gibt es einen besseren Weg, um die Abfrage, vielleicht mit dem Abfragezeichenfolgeflag zu kodieren?
Und ich würde lieber nicht tun, um die Standard-freundliche url Methode der Verwendung:
my-friendly-openid-com
or
23-my-friendly-openid-com
, wenn möglich.
Lösung
Sie könnte diese zweite Strecke mit so etwas wie damit umgehen (ersetzen Sie die Aktionsnamen mit etwas real).
map.connect 'identity/:id', :controller => "identity",
:action => "foo",
:requirements => {:id => /(\w+\.?)+/}