【问题标题】:How to generate oauth_signature in C#如何在 C# 中生成 oauth_signature
【发布时间】:2022-04-30 05:40:32
【问题描述】:

我正在尝试调用与 OAuth 1.0 版本关联的 API。从邮递员文中我尝试通过传递标题参数“授权”它的值如下:

OAuth realm="realm1",
oauth_consumer_key="oauth_consumer_key1",
oauth_token="oauth_token1",
oauth_signature_method="HMAC-SHA256",
oauth_timestamp="1607936624",
oauth_nonce="vWZBL6a34T",
oauth_version="1.0",
oauth_signature="0md4Tg9wqa4DZV9VGwtvwPeb0ojZoRr0j6pR00HTu1I%3D"

从以上键值对:

oauth_signature
oauth_timestamp
oauth_nonce

这 3 个是动态生成的,这是我在邮递员中观察到的。 如何在 C# 代码中动态生成这 3 个?

【问题讨论】:

  • 尝试使用微软提供的lib,
  • @phonemyatt 从 nuget 我需要安装什么?
  • 你可以试试oauth.net,或者owin
  • @phonemyatt 如果可能的话,请您提供任何文档链接吗?
  • 我想你可以先参考这个链接。 docs.microsoft.com/en-us/dotnet/api/…。其中一些是自动生成的,所以如果你想动态生成,你需要自己编码。尝试搜索令牌的 HMAC-SHA256 编码

标签: c# oauth postman httpclient asp.net-core-webapi


【解决方案1】:

您可以使用 OAuth 库来生成授权标头。

OAuthRequest client = OAuthRequest.ForProtectedResource("HTTP_METHOD", "CONSUMER_KEY", "CONSUMER_SECRET", "ACCESS_TOKEN", "ACCESS_TOKEN_SECRET");
client.RequestUrl = "REQUEST_URL";

string auth = client.GetAuthorizationHeader();

【讨论】:

    猜你喜欢
    • 2011-11-27
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 2019-03-10
    • 2012-01-18
    • 2011-12-06
    相关资源
    最近更新 更多