Moja aplikacja AngularJS musi mieć dostęp do profilu LinkedIn użytkownika. Aby to zrobić, muszę przekierować użytkownika do adresu URL LinkedIn, który zawiera parametr redirect_uri wywołania zwrotnego, który poinformuje LinkedIn, aby przekierował użytkownika z powrotem do mojej aplikacji internetowej i zawarł parametr zapytania „kod” w adresie URL. To tradycyjny przepływ Oauth 2.0.
Wszystko działa świetnie, z wyjątkiem tego, że LinkedIn przekierowuje użytkownika z powrotem na następujący adres URL:
http://localhost:8080/?code=XXX&state=YYY#/users/123/providers/LinkedIn/social-sites
Chciałbym usunąć ?code=XXX&state=YYY
z adresu URL, aby był czysty. Użytkownik nie musi widzieć parametrów zapytania, które otrzymałem z przekierowania LinkedIn.
Próbowałem $location.absUrl($location.path() + $location.hash()).replace()
, ale zachowuje parametry zapytania w adresie URL.
Nie jestem również w stanie wyodrębnić parametrów zapytania, np. „Kod”, używając ($location.search()).code
. Wygląda na to, że masz? przed # w powyższym adresie URL oszukuje Angulara.