Привет, я реализовал в своем приложении пользователя аутентификации Angular 6 + Laravel через facebook. Я перенаправляю страницу в диалоговое окно facebook с подтверждением пользователя, изменяя объект окна href:
window.location.href = `https://www.facebook.com/v3.1/dialog/oauth?client_id=${appId}&redirect_uri=${redirectUri}&response_type=token&display=popup&state = {st=${stateParam}}`;
После подтверждения аутентификации происходит перенаправление на url-адрес с вопросительным знаком на несколько сотен миллисекунд (на локальном хосте):
http://localhost:4200/facebook-token?#state=%7Bst%3Dcar_workshop%7D&access_token=EAAdmi6KgztwBABnt4CxRLBg8yZBgtrSNX6paMeAauPIt7iZC4MSjgTDnf5ZCCvSg0HmowYk2SkLtRmKnz6KNlt6ayZCRR6ZCoZBHmsE9LLAx7NSDKS3CD3pdEEgZCgy7NBY9suArgePT8RYF6ph5P1uqZBq1PkSfBWISLgzymeKZCQ5l2apLZAVckRw35Xl8ihMkkZD&expires_in=5814&reauthorize_required_in=7776000&data_access_expiration_time=1548278586
и после этого вопросительный знак усеченный от url выглядит так:
http://localhost:4200/facebook-token#state=%7Bst=car_workshop%7D&access_token=EAAdmi6KgztwBAAEFhbHIxSQR42WE7jJWUFjjxqIZAT1bsX62bgjNAIkh77PyK5ZCfcHZAoOkM1XhjDNukl1EJeJKXYZBftTlpzQk5dWXtvZAORUZCWStuYwWI2gkkNFtBkdDK5kAzZAsgGtjI0FONpvZCsd9fbQWTEqMnZBiHdIk4VTT5dFrBLZBcPTM9W1ZCZBPUI4ZD&expires_in=5655&reauthorize_required_in=7776000&data_access_expiration_time=1548278745
Затем он обрабатывается компонентом в модуле маршрутизации:
path: 'facebook-token',
component: FacebookTokenComponent
Затем на серверную часть отправляется запрос AJAX и подтверждается аутентификация.
На мой взгляд, труп, который я описал выше, не очень приятен для глаза. Есть ли способ пропустить шаг с усечением вопросительного знака в URL-адресе? Это проблема на стороне Angular6 или Facebook api? Буду признателен за ответы С наилучшими пожеланиями
Я считаю, что это не имеет значения, потому что это что-то с угловым компонентом Router, но я не знаю, как это изменить.
Какое точное значение URI перенаправления вы передаете диалоговому окну?