使用OAuth访问Nexmo C#API

我通过传递API Key和API Secret来访问Nexmo API。 Nexmo使用OAuth 1.0a,我设法使用DotNetOpenAuth检索访问令牌和令牌机密。 我以前没有使用Nexmo的经验。 我想知道如何使用Access Token和Token Secret取代API Key和API Secret。 在nexmo网站上,对此没有太多帮助。 在下面的URl(https://labs.nexmo.com/#oauth)的底部写有一行,它表示“用OAuth参数替换”api_key“和”api_secret“。 我不知道该怎么做。 有人知道吗?

嗨,我已经看到了PHP的例子,但不是很了解它。 可能是我没有完全获得OAuth的想法。 我正在使用DotNetOpenAuth与Nexmo网站签约。 以下是我迄今使用的代码,

Dim consumer3 As New DesktopConsumer(NexmoDescriptionService.Description,  NexmoDescriptionService.TokenManager)

Dim requestToken As String = ""
consumer3.RequestUserAuthorization(Nothing, Nothing, requestToken)

Dim extraParameters = New Dictionary(Of String, String) From {{"request_token", requestToken}}

consumer3 = New DesktopConsumer(NexmoDescriptionService.Description.UserAuthorizationEndpoint, NexmoDescriptionService.TokenManager)
Dim test = consumer3.RequestUserAuthorization(extraParameters, Nothing, requestToken)

Dim request As System.Net.HttpWebRequest = consumer3.PrepareAuthorizedRequest(NexmoDescriptionService.Description.RequestTokenEndpoint, requestToken)

我使用过桌面使用者类,因为无法使用WebConsumer。


这里有一个使用PHP的屏幕截图,它应该与C#大致相同。 你真的不想管理自己的OAuth签名,找到一个好的C#库来为你做,然后通过它完成请求。

这个例子和库可能会有所帮助。 在示例结束时,它显示在会话已设置为使用访问令牌之后致电Google。 您只需通过Nexmo的类似流程即可:

// make a request for a protected resource
string responseText = session.Request().Get().ForUrl("http://www.google.com/m8/feeds/contacts/default/base").ToString();

至于普通的OAuth,流程本质上是:

  • 从服务中获取请求令牌(本例中为Nexmo)。 该请求令牌与您已有的应用程序凭证相匹配(您可以从Nexmo仪表板创建这些令牌)。

  • 重定向到用户授权该请求令牌。 此时您只需等待用户使用授权令牌重定向。

  • 当用户使用授权令牌重新导向用户时,为了长使用令牌而进行交易,并存储凭证(无论何时您需要代表用户帐户提出请求时,您都将使用这些凭证)。

  • 大部分情况下,OAuth客户端库处理所有细节,并且您的应用程序只需要关注高级流程。

    您可以在OAuth网站上找到有关OAuth流程的更多信息。

    链接地址: http://www.djcxy.com/p/33079.html

    上一篇: Access Nexmo C# API using OAuth

    下一篇: Connect to staging database from a local environment