Routage d'URL convivial avec identifiant ouvert
-
03-07-2019 - |
Question
Je voudrais utiliser créer une route rails pour l'ID ouvert d'un utilisateur. L'URL ressemblerait à quelque chose comme
http://mysite.com/identity/:html_encoded_openid
or
http://mysite.com/identity/:html_encoded_openid.xml
Cela permettrait de demander au site si un identifiant est ouvert et d'afficher les informations relatives à cette identité ou de recevoir un document XML contenant ces informations. Trucs Rails Standard.
Je recherche votre expertise sur quelques points:
-
Les routes à rails standard semblent étouffer le fichier .s dans un openid de sorte que:
http://mysite.com/identity/openid
trouverait un itinéraire mais
http://mysite.com/identity/openid.myopenid.com
ne serait pas.
-
Quels problèmes de sécurité devrais-je rechercher?
- Existe-t-il un meilleur moyen de coder la requête, peut-être avec la chaîne de requête?
Et je préférerais ne pas utiliser la méthode d’utilisation standard conviviale des URL:
my-friendly-openid-com
or
23-my-friendly-openid-com
si possible.
La solution
Vous pouvez gérer cette seconde route avec quelque chose comme ça (remplacez le nom de l'action par quelque chose de réel).
map.connect 'identity/:id', :controller => "identity",
:action => "foo",
:requirements => {:id => /(\w+\.?)+/}