DotNetOpenAuth Oauth 2,如何处理代码响应?

时间:2015-11-10 12:24:54

标签: oauth-2.0 linkedin dotnetopenauth

我正在为我们的网络应用程序中的用户授权LinkedIn应用程序。在基础上,它在.NET 4.5.2上使用带有.NET web api后端的angularjs。

我确实让它继续工作直到回调。这是代码:

public void Confirm(string state, string code)
{
// ?
}

返回一个我可以用来转到LinkedIn的网址。 我授权应用程序并成功重定向到我的redirectUrl,在那里我获得了代码和状态。

但我接下来要做什么请求访问令牌?

buff.consume(buff.size());

我使用dotnetopenauth 4.3

最好的reagrds 纳斯

1 个答案:

答案 0 :(得分:0)

我明白了。所以对于未来的冒险家来说:

public void Confirm(string context, string code)
    {
        if (context == null)
            throw new ArgumentException(nameof(context));
        if (string.IsNullOrEmpty(code))
            throw new ArgumentException(nameof(code));

        var appContext = _applicationContextProvider.GetLinkedInApplicationContext();
        var linkedIn = new UserAgentClient(new AuthorizationServerDescription
        {
            TokenEndpoint = new Uri(appContext.AccessTokenEndpoint),
            AuthorizationEndpoint = new Uri(appContext.AuthorizationEndpoint),
            ProtocolVersion = ProtocolVersion.V20
        }, appContext.ClientId, appContext.ClientSecret)
        {
            ClientCredentialApplicator = ClientCredentialApplicator.PostParameter(appContext.ClientSecret)
        };

        var auth = linkedIn.ProcessUserAuthorization(new Uri($"http://fake.url?code={code}"), new AuthorizationState
        {
            Callback = new Uri("<addd original return_url here from code request>")
        });
    }