使用dotnetopenauth实现授权授权?

时间:2017-11-07 17:44:07

标签: c# .net authentication oauth-2.0 dotnetopenauth

我对身份验证实施相当新,但一直尝试实施上述功能但没有成功。

根据我的理解,授权授权涉及将用户重定向到另一个网站进行登录,然后浏览器将重定向回原点,提供访问令牌等,以及用户的身份验证方式。

这是对的吗?

我一直在使用Dotnetopenauth客户端库尝试执行此操作但没有成功。

这是主要方法:

try
{
   var authState = new AuthorizationState(TestScopes) 
        { Callback = new Uri("http://client/callback") };
   var authRedirectResponse = await 
        _webServerClient.PrepareRequestUserAuthorizationAsync(authState);
   Uri authCompleteUri;
   System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();

   using (var response = await client.GetAsync(authRedirectResponse.Headers.Location))
   {
      response.EnsureSuccessStatusCode();
      authCompleteUri = response.Headers.Location;
   }

   var authCompleteRequest = new HttpRequestMessage(HttpMethod.Get, authCompleteUri);
   var result = await _webServerClient.ProcessUserAuthorizationAsync(authCompleteRequest);
}
catch
{
    //refreshTokenSource.TrySetCanceled();
}

总是失败

using (var response = await client.GetAsync(authRedirectResponse.Headers.Location))

,即使headers.location包含正确的url(我可以浏览并获取登录页面),结果为null的错误

我做错了什么?

0 个答案:

没有答案
相关问题