Rutas de url amigables con ID abierto
-
03-07-2019 - |
Pregunta
Me gustaría usar crear una ruta de rieles para la ID abierta de un usuario. La url se vería algo así como
http://mysite.com/identity/:html_encoded_openid
or
http://mysite.com/identity/:html_encoded_openid.xml
Esto sería para que se pueda consultar el sitio para una ID abierta y ver la información de esa identidad o recibir un documento XML que contenga esa información. Material de rieles estándar.
Estoy buscando su experiencia en algunas cosas:
-
Las rutas de los rieles estándar parecen ahogar los .s en un openid de modo que:
http://mysite.com/identity/openid
encontraría una ruta pero
http://mysite.com/identity/openid.myopenid.com
no lo haría.
-
¿A qué problemas de seguridad debería tener cuidado?
- ¿Existe una mejor manera de codificar la consulta, quizás con la cadena de consulta?
Y prefiero no utilizar el método estándar de url amigable de uso:
my-friendly-openid-com
or
23-my-friendly-openid-com
si es posible.
Solución
Podrías manejar esa segunda ruta con algo como esto (reemplaza el nombre de la acción con algo real).
map.connect 'identity/:id', :controller => "identity",
:action => "foo",
:requirements => {:id => /(\w+\.?)+/}