我对身份验证实施相当新,但一直尝试实施上述功能但没有成功。
根据我的理解,授权授权涉及将用户重定向到另一个网站进行登录,然后浏览器将重定向回原点,提供访问令牌等,以及用户的身份验证方式。
这是对的吗?
我一直在使用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的错误
我做错了什么?