【发布时间】:2023-03-14 10:16:02
【问题描述】:
在服务器端(Spring java)整理出 OAuth2 几天后,我开始研究用 C# 编写的客户端。我正在使用 RestSharp 调用我的 Web API,但我在使用 OAuth2 时遇到了真正的困难。几乎没有任何文档,我在网上找到的几个例子也不起作用。有人可以提供我可以使用的最新代码示例吗?
到目前为止,我有以下内容:
var client = new RestClient("http://example.com/myapi/oauth/token");
RestRequest request = new RestRequest() { Method = Method.POST };
request.AddHeader("Content-Type", "application/json");
request.AddParameter("grant_type", "client_credentials");
request.AddParameter("client_id", "client-app");
request.AddParameter("client_secret", "secret");
var response = client.Execute(request);
我只是在调试模式下运行此代码,当我查看响应时,我得到了未经授权的结果。
当我在控制台上使用相同的参数进行 curl 时,它工作正常,但似乎我无法让它在 C# 中工作。这是 curl 命令:
curl -H "Accept: application/json" client-app:secret@example.com/myapi/oauth/token -d grant_type=client_credentials
顺便说一句,我已经用占位符替换了我的真实 API url 和其他信息。
【问题讨论】:
-
你能展示一下有效的 curl 命令吗?
-
我在上面添加了 curl 命令。
标签: c# rest curl oauth-2.0 restsharp