将前端连接到后端:passportjs-facebook,angular2,expressjs,身份验证

时间:2017-02-09 14:28:21

标签: angular passport.js

tldr:我如何路由到Facebook进行身份验证,然后检索并使用它返回的json对象以用于回调函数?

我的快速后端和facebook身份验证策略正常运行,我可以输入localhost:3000/users/auth,它会将我重定向到我登录的Facebook,并通过json成功和我的令牌重定向到users/auth/callback。它将我的个人资料数据填充到mongodb后端。

但我不知道如何将它连接到我的角度2前端。我有一个登录按钮,我想将我重定向到Facebook,我已经创建了一个auth服务,但我不知道该怎么做,我尝试路由到它,我试过这不正确,我需要路由到该页面,然后检索回调json但我不知道如何。

@Injectable()
export class AuthService {

  constructor(private http: Http, 
              private router: Router) { }

  private users: User[] = [];

  isLoggedIn: boolean;

  login () {
    this.isLoggedIn = false;
    return new Promise((resolve) => {
      this.http.get('http://localhost:3000/users/auth', {withCredentials: true})
        .subscribe((data) => {
          if(data.json().success) {
            window.localStorage.setItem('auth_key', data.json().token);
            this.isLoggedIn = true;
          }
          resolve(this.isLoggedIn);
        })
    })
  }

0 个答案:

没有答案