Angular 2 auth似乎不起作用,虽然我收到了成功消息

时间:2017-05-15 15:24:00

标签: angular http authentication

我使用Node设置了一个auth,它可以正常工作邮差。但在Angular中,我似乎做错了什么。我创建了一个服务,并在按钮单击时调用了auth()函数。

当我点击按钮时,我可以看到我收到了200状态,并且收到了我在后端创建的成功消息。我想重定向到/仪表板成功登录,但不知何故我收到401未经授权的错误(在DashboardComponent中调用GET函数)。凭证是100%正确的(否则我不会获得成功消息)。就像我说的那样,它适用于Postman。

我做错了什么?谢谢!

以下是服务的代码:

import { Injectable } from '@angular/core';
import { env } from '../../../../.env';
import { Http, Response } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';

import { Router } from '@angular/router';

@Injectable()
export class LoginService {

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

  public auth(creds) {
    return this._http
        .post(env.apiUrl + '/api/auth', creds)
        .map((response:Response) => {
          return this.successfulAuth(response);
        });
  }

  private successfulAuth(response) {
    response = response.json();
    if(response.success === 1) {
      // this works !
      this.router.navigateByUrl('/dashboard');
    }
    return [];
  }

}

0 个答案:

没有答案