嗨,我已经在我的应用程序中通过Angular 6 + Laravel身份验证用户实现了。我通过更改href Windows对象将页面重定向到具有确认用户的Facebook对话框:
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}}`;
我确认身份验证后,可以重定向带有问号的网址几百毫秒(在本地主机上):
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
,然后从网址中将问号截短,如下所示:
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方面是否有问题?我会很感激的答案 最好的问候