我正在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请求中的标题发送?
如果我不够具体,请帮我填写空白,要求澄清。
由于