Я настраиваю регистрацию в Facebook для своего веб-приложения Angular2. После применения принятого через Facebook (после перенаправлены на страницу авторизации Facebook), он перенаправляет на мой веб-приложение с маркером и кодом, как URL-адрес Params:Angular2 get url query parameters
http://localhost:55976/?#access_token=MY_ACCESS_TOKEN&code=MY_CODE
Но как только страница загружена, то PARAMS удаляются , URL стать:
http://localhost:55976/
Как я могу извлечь параметры (access_token и код), прежде чем они будут удалены? Моя конфигурация маршрутизации содержит:
{ path: 'login', component: LoginComponent },
{ path: 'login/:access_token/:code', component: LoginComponent },
EDIT:
Вот как я перенаправлять на Facebook в моем login.component: HTML:
<a class="btn btn-social btn-facebook socialaccount_provider facebook" title="Facebook" href="#" (click)="login_facebook()">
<span class="fa fa-facebook"></span> <span style="padding-left:25px">Sign in with Facebook</span>
</a>
Машинопись:
login_facebook() {
let url = 'https://www.facebook.com/dialog/oauth?'+
'client_id=my_client_id' +
'&redirect_uri=' + encodeURIComponent('http://localhost:55976/#/login/') +
'&response_type=code%20token';
console.log(url);
window.location.href = url;
}
facebook api перенаправляет на http://localhost:55976/#/login/, вот где я пытаюсь получить параметры access_token и code.
EDIT 2:
Если удалить резкие в URL переадресации, facebook перенаправить меня к хорошему URL, но без острого, угловатого не может разрешить URL.
Перед удалением '#':
redirect_uri: http://localhost:55976/#/login/
facebook return: http://localhost:55976/?#access_token=MY_ACCESS_TOKEN&code=MY_CODE
После удаления '#':
redirect_uri: http://localhost:55976/login/
facebook return: http://localhost:55976/login/?#access_token=MY_ACCESS_TOKEN&code=MY_CODE
Это означает, что проблема исходит от остры. Но без резких, угловых ошибок HTTP Error 404.0 - Not Found.
Какую стратегию размещения вы используете? У меня также есть проблема, которая у вас есть в приведенном выше комментарии: хэш-фрагмент удаляется до того, как я получу доступ к нему .. вы справились с этим, чтобы работать с hashlocationstrategy или он работает только с html5 pathlocationstrategy? –
Я использую html5 pathlocationstrategy. Я не уверен, но я думаю, что он работает только с этой стратегией. – Ben
Да, я подтверждаю, что это работает только с pathlocationstrategy –