1

我对 WSO2 非常陌生,并且仍在评估它——主要是通过 Fiddler。据我了解,我应该能够通过调用 WSO2 的登录 API 来获取 OAuth 令牌。我尝试了各种 URL(在 Fiddler 中):

// 基于博客文章: http: //lalajisureshika.blogspot.com/2012/11/generate-application-tokens-user-tokens.html

http://localhost:8280/login?grant_type=password&username=admin&password=admin&scope=PRODUCTION
Authorization: Basic cFNET0lab1RnMHRBODRCWmQ4bTRBbnp1c0RZYTpZREIzZzh3RXhQOV92ZTdZX1drYVhieWx5ZlVh

当我执行上述 URL 时,我收到(403) No matching resource found in API for the given request

我可以使用“访问令牌”(通过 Bearer 标签)并且 API 工作。我只是不知道如何获取 OAuth 令牌以供实际运行时使用。

任何指针/想法?

--- 谢谢,杰夫

4

4 回答 4

2
  1. 设置身份服务器 [ domain:9443]
  2. 创建 OAuth2 应用,并获取客户端 ID + 消费者密钥
  3. 获取 clientId:consumerKey 的 Base64 编码 - 将其替换为 Authorization Basic xxxxx
  4. 替换 REST 端点以生成令牌 - 您应该在管理控制台上的 oauth 应用程序中获取此信息 [在我们的案例中https://domain:9443/oauth2/token]

而下面的 curl 命令应该会给你响应

curl -k -d "grant_type=password&username=sasikumar@domain.com&password=xxxx1234" -H "Authorization" -H "Authorization: Basic X2dhWllidkN6TDNQY2ZqSmVBQ1lsNlg2SFdRYTpSQVlSMmxOZzQ0enU5ZXVGSDRDVXdOUWRudlVh, Content-type=application/x-www-form-urlencoded"  https://domain:9443/oauth2/token
于 2013-11-28T14:08:40.443 回答
0

您可以直接访问 OAuth2 REST Web 服务来访问令牌。这是使用 curl 访问令牌的方法

curl --user ConsumerKey:ConsumerSecret  -k -d "grant_type=password&username=admin&password=admin" -H "Content-Type:application/x-www-form-urlencoded" https://localhost:9443/oauth2endpoints/token
于 2012-12-19T10:39:23.353 回答
0

设置身份服务器 [domain:9443] 创建 OAuth2 应用程序,并获取客户端 ID、消费者密钥和 url。

使用带有以下详细信息的“海报”处理发布请求,

URL :- 从 oauth 应用程序获取

内容类型:- application/x-www-form-urlencoded

正文:- grant_type=password&username=你的用户名&password=你的密码&client_id=你的客户端ID&client_secret=你的客户端密码

于 2014-02-12T13:45:42.727 回答
0

下面是一个默认使用 linux 中可用的 cURL 工具的示例(您可以为 windows 显式安装 cURL)

curl -v 4 -X POST -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" -k -d "grant_type=password&username=&密码=&client_id=&client_secret=" https://:9443/oauth2/令牌

要获取 client_secret 和 client_id,您必须在 wso2is 中注册一个应用程序。

有免费工具可用于构造上述请求或直接使用上述参数并获取令牌。

于 2014-02-12T10:09:57.287 回答