我正在尝试使用OKTA隐式流(使用库angular-oauth2-oidc)从Angular 6客户端调用API / v1 / revoke。从示例程序中,我添加了一个新函数revokeToken(),因为该库未实现revoke-token函数。我包括“ http://localhost:8080”作为受信任的来源,但仍然出现以下错误:
Access to XMLHttpRequest at 'https://mydevid.oktapreview.com/oauth2/default/v1/revoke' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这是OKTA的设置
这是我在Angular组件中的功能
revokeToken() {
const httpOptions = {
headers: new HttpHeaders()
.set('accept', 'application/json')
.set('authorization', 'Basic ' + authConfig2.clientId)
.set('content-type', 'application/json')
};
const body = {
'token': this.access_token,
'token_type_hint': 'access_token'
};
this.http.post(authConfig2.issuer + '/v1/revoke', body, httpOptions)
.subscribe(console.log);
}
有人可以告诉我我做错了什么或设置不正确吗?
谢谢。
答案 0 :(得分:0)
撤销是一个后端调用。您需要从后端(服务器)调用/ revoke。您可以通过邮递员尝试该理论,从而对其进行检验,它应该可以工作。