要在header,401问题中使用Angular getAccessToken吗?

时间:2018-05-04 07:20:22

标签: angular typescript oauth-2.0 httprequest access-token

我正在Angular5中做spa,想要对azure的活动目录(oidc)进行身份验证,然后能够使用accessToken作为标头发送post / get请求,但无法使其工作。

现在我需要了解这个accessstoken是否错误以及我是否应该在标题中包含其他内容?

我在被重定向到微软登录页面之后得到了accessstoken,该页面将我重定向回我的localhost(我的app.component.ts ngOnInit),我在其中记录并通过下面的代码保存了accessstoken。

async ngOnInit() {
 this.ConfigureAuth();
  this.oauthService.tryLogin({});

  if (!this.oauthService.getAccessToken()) {
    await this.oauthService.initImplicitFlow();
  }
  console.log(this.oauthService.getAccessToken());

   this.tokenJ =  this.oauthService.getAccessToken().toString();
  console.log('getAccessToken ' + this.tokenJ);

  console.log('tid till expiration ' + this.oauthService.getAccessTokenExpiration());

  console.log(this.oauthService.authorizationHeader());



}

我将accessstoken 3次登录到控制台,authorizationHeader与getAccessToken相同。 accessToken看起来像“eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiI ......”

现在,当我想通过在ConfigureAuth()中发送客户端ID等来访问Azure上我获得accessToken的API时,我使用get-request并在头文件中附加了accesstoken,但未经授权取回401响应。

有人可以解释一下第一个accessToken是否只允许另一个accessToken被允许调用api?如果是这样,我如何获得正确的令牌作为我的api请求中的标题发送?

如果我不够具体,请帮我填写空白,要求澄清。

由于

0 个答案:

没有答案