处理angular4 +

时间:2018-11-24 14:40:19

标签: angular mean-stack passport-facebook

我有Express-和Angular应用程序,具有“ password-facebook”策略来注册用户。

在Angular服务中,我称“ https://host/auth/facebook/”是通过模板中的按钮触发的:

服务代码摘录:

fbLogin() {
this.http
      .get<{ token: string; expiresIn: number; userId: string, slug:string }>('https://host/auth/facebook/')
.subscribe(response => { 
//save token to local storage, etc
...}

因此,单击按钮后,用户将被重定向到Facebook,在此他同意向应用程序授予某些访问权限,然后Facebook调用“ / facebook / callback”。

成功后,我将生成jwt令牌和其他一些元数据,并将其放入JSON中,然后将其发送到Angular以保存到本地存储中。

这样便生成了令牌,并将其传递回Angular并在浏览器窗口中显示为:

{name: "NewName",
email: "email@email.com",
token: "eyJhbGciOiJIUzfdI1NiIsInR5cCfdfI6IkpXVCJ9.eyJpZCI6IjViZjc0NTQ1YTRhMjdfI3NDI2ZGM5ZTYwYSIsIm5hbWUiOiJBbGVrc2fdfFuZHIiLCJzbHVnIjoiYWxla3NhbmRyLTZwdWpnZyIsImV4cCI6MTU0ODI1MjM0NywiaWF0IjoxNfdfTQzMDY4MzQ3fQfdf.nfZHE_IFT-Eaa2u_GXUFkVKkChT7Faqsyh_2x2g-ix4",
expiresIn: 3600,
userId: "5bf74545a4afdfd227426dc9e60a",
}

以及重定向到“ https://host/api/auth/facebook/callback?code=AQA32HfWnlDCT ....”

但是我需要在调用“ https://host/auth/facebook/”后将其保存在Angular Service中,但我没有它,因为Facebook调用的是“ auth / facebook / callback”而不是Angular应用。 / p>

一个类似的问题在这里: how to handle passport-facebook callback in angular client?,答案是关于在Express中重定向到另一个端点,但是即使这样做,在Angular中如何处理它也不清楚。

请告知如何处理。

0 个答案:

没有答案