一旦应用程序通过Facebook接受(在重定向到Facebook授权页面后),它将重定向到我的webapp,其令牌和代码为url params:
http://localhost:55976/?#access_token=MY_ACCESS_TOKEN&code=MY_CODE
http://localhost:55976/
如何在删除参数(access_token和代码)之前将其提取出来?
我的路由配置包含:
{ path: 'login',component: LoginComponent },{ path: 'login/:access_token/:code',
编辑:
以下是我在login.component中重定向到facebook的方法:
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和代码参数的地方。
编辑2:
如果我删除重定向网址中的锐利,Facebook会将我重定向到好的网址,但没有锐利,角度无法解析网址。
在删除’#’之前:
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