如何使用使用者密钥/机密从WSO2获取OAuth令牌?

如何使用使用者密钥/机密从WSO2获取OAuth令牌?,oauth,wso2,Oauth,Wso2,我对WSO2非常陌生,并且仍然在评估它——主要是通过Fiddler。我的理解是,我应该能够通过调用WSO2的登录API来获得OAuth令牌。我尝试了各种URL(在Fiddler中),大致如下: //根据一篇博客文章: 当我执行上述URL时,我在API中没有找到与给定请求匹配的资源 我可以使用“访问令牌”(通过承载标记)和API工作。我只是不知道如何获取OAuth令牌以供实际运行时使用 有什么建议/想法吗 ---谢谢,Jeff您可以直接访问OAuth2 REST web服务来访问令牌 curl -

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

//根据一篇博客文章:

当我执行上述URL时,我在API中没有找到与给定请求匹配的资源

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

有什么建议/想法吗


---谢谢,Jeff

您可以直接访问OAuth2 REST web服务来访问令牌

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
  • 设置身份服务器[
    域:9443
    ]
  • 创建OAuth2应用程序,并获取客户端id+使用者密钥
  • 获取clientId:consumerKey的Base64编码-将此替换为基本授权xxxxx
  • 替换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
    

    下面是一个默认情况下使用linux中可用的cURL工具的示例(您可以明确地安装针对windows的cURL)

    curl-v 4-X POST-H“内容类型:application/X-www-form-urlencoded;charset=UTF-8“-k-d”grant\u Type=password&username=&password=&client\u-id=https://:9443/oauth2/token

    要获取客户端密码和客户端id,您必须在wso2is中注册一个应用程序


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

    设置Identity Server[域:9443] 创建OAuth2应用程序,并获取客户端id、使用者密钥和url

    使用带有以下详细信息的“海报”处理张贴请求

    URL:-从oauth应用程序获取的

    内容类型:-应用程序/x-www-form-urlencoded


    正文:-授权类型=密码和用户名=你的用户名和密码=你的密码和客户id=你的客户id和客户机密=你的客户机密你好Jeff,这只是为了弄清楚你的问题。提到的“登录API”在博客中是专门针对WSO2 API Manager产品的。希望您正在尝试使用它。您正在尝试使用哪个版本的API Manager?根据您得到的错误“(403)在API中找不到与给定请求匹配的资源。”,您的请求url似乎有问题。是的,我正在尝试使用WSO2 API管理器执行此操作。我使用的是大约2天前的最新版本。ajanthan,你知道查询字符串和HTTP头应该是什么样子的吗?这样我就可以用Fiddler试试了?我试过几种方法,但还没有找到正确的方法。
    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