使用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