Mi aplicación AngularJS necesita tener acceso al perfil de usuario de LinkedIn. Para hacer eso, necesito redirigir al usuario a una URL de LinkedIn que contiene un parámetro de devolución de llamada redirect_uri que le indicará a LinkedIn que redirija al usuario de nuevo a mi aplicación web e incluya un parámetro de consulta de "código" en la URL. Es un flujo tradicional de Oauth 2.0.
Todo funciona muy bien, excepto que LinkedIn redirige al usuario a la siguiente URL:
http://localhost:8080/?code=XXX&state=YYY#/users/123/providers/LinkedIn/social-sites
Me gustaría eliminar ?code=XXX&state=YYY
de la URL para que quede limpia. El usuario no necesita ver los parámetros de consulta que recibí de la redirección de LinkedIn.
Lo intenté $location.absUrl($location.path() + $location.hash()).replace()
, pero mantiene los parámetros de consulta en la URL.
Tampoco puedo extraer los parámetros de consulta, por ejemplo, "código", usando ($location.search()).code
. Parece que tiene? antes de # en la URL anterior está engañando a Angular.