相关疑难解决方法(0)

通过DotNetOpenAuth对FreshBooks进行身份验证

我正在尝试使用OAuth从我的ASP.NET MVC C#应用程序中对FreshBooks API进行身份验证.这是我到目前为止:

我在这里使用DotNetOpenAuth是我在控制器操作中的代码

if (TokenManager != null)
{
    ServiceProviderDescription provider = new ServiceProviderDescription();
    provider.ProtocolVersion = ProtocolVersion.V10a;
    provider.AccessTokenEndpoint = new MessageReceivingEndpoint     ("https://myfbid.freshbooks.com/oauth/oauth_access.php", DotNetOpenAuth.Messaging.HttpDeliveryMethods.PostRequest);
    provider.RequestTokenEndpoint = new DotNetOpenAuth.Messaging.MessageReceivingEndpoint("https://myfbid.freshbooks.com/oauth/oauth_request.php", DotNetOpenAuth.Messaging.HttpDeliveryMethods.PostRequest);
    provider.UserAuthorizationEndpoint = new DotNetOpenAuth.Messaging.MessageReceivingEndpoint("https://myfbid.freshbooks.com/oauth/oauth_authorize.php", DotNetOpenAuth.Messaging.HttpDeliveryMethods.GetRequest);
    provider.TamperProtectionElements = new ITamperProtectionChannelBindingElement[] { new HmacSha1SigningBindingElement() };

    var consumer = new WebConsumer(provider, TokenManager);

    var response = consumer.ProcessUserAuthorization();
    if (response != null)
    {
        this.AccessToken = response.AccessToken;
    }
    else
    {
        // we need to request authorization
        consumer.Channel.Send(consumer.PrepareRequestUserAuthorization(
            new Uri("http://localhost:9876/home/testoauth/"), null, null));
    }
}
Run Code Online (Sandbox Code Playgroud)

TokenManager与DotNetOpenAuth示例提供的是同一个类,我设置了FreshBooks给我的消费者秘密.

consumer.Channel.Send(consumer.PrepareRequestUserAuthorization(...))我有以下例外: …

c# asp.net oauth dotnetopenauth

5
推荐指数
1
解决办法
3023
查看次数

标签 统计

asp.net ×1

c# ×1

dotnetopenauth ×1

oauth ×1