CORS-撤销令牌时没有“ Access-Control-Allow-Origin”

时间:2019-03-04 08:00:32

标签: angular oauth-2.0 okta oidc okta-api

我正在尝试使用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的设置

enter image description here

这是我在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);
}

有人可以告诉我我做错了什么或设置不正确吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

撤销是一个后端调用。您需要从后端(服务器)调用/ revoke。您可以通过邮递员尝试该理论,从而对其进行检验,它应该可以工作。