Meu aplicativo AngularJS precisa ter acesso ao perfil do usuário no LinkedIn. Para fazer isso, preciso redirecionar o usuário para uma URL do LinkedIn que contenha um parâmetro de retorno de chamada redirect_uri que instruirá o LinkedIn a redirecionar o usuário de volta ao meu aplicativo da web e incluir um parâmetro de consulta "código" no URL. É um fluxo tradicional do Oauth 2.0.
Tudo funciona muito bem, exceto que o LinkedIn redireciona o usuário de volta para o seguinte URL:
http://localhost:8080/?code=XXX&state=YYY#/users/123/providers/LinkedIn/social-sites
Gostaria de remover ?code=XXX&state=YYYdo URL para torná-lo limpo. O usuário não precisa ver os parâmetros de consulta que recebi do redirecionamento do LinkedIn.
Eu tentei $location.absUrl($location.path() + $location.hash()).replace(), mas ele mantém os parâmetros de consulta na URL.
Também não consigo extrair os parâmetros de consulta, por exemplo, "código", usando ($location.search()).code. Parece ter? antes de # no URL acima estar enganando Angular.