0

我想撤销通过 OAuth2 登录提供给用户的令牌。我想从 JavaScript 应用程序发出 HTTP POST 请求。WSO2 文档提供了一个 Curl 示例。

试过:

  1. 通过提供语法尝试使用 curl。它工作得很好 curl -X POST --basic -u "clientid:clientsecret" -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" -k -d "token=tokenfromwso2&token_type_hint= access_token" https://localhost:9443/oauth2/revoke

  2. 尝试使用 Http Request 执行相同操作,但服务器返回 500 内部服务器错误。

标题:

POST /oauth2/revoke HTTP/1.1
Host: localhost:9443
Connection: keep-alive
Content-Length: 14
Accept: application/json, text/plain, */*
Origin: http://localhost:4200
Authorization: Basic  clientid:clientsecret
User-Agent: Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Referer: http://localhost:4200/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9

身体:

{"token":access_token}

授予类型不是隐式的,所以我不希望用户重定向到 wso2 身份服务器。我什至尝试对客户端 ID 密码进行编码,但这也返回了内部服务器错误。

4

1 回答 1

0

您需要对客户端 ID 和密码进行 base64 编码。此外,您需要提供令牌作为 url 编码值。您给出的是正文的 json 有效负载。样品请求可以在下面找到。

在此处输入图像描述

于 2018-04-02T16:56:55.293 回答