У меня был очень простой код, который работал хорошо для меня:PrepareRequestUserAuthorizationAsync терпит неудачу
var url = System.Web.HttpContext.Current.Request.Url;
Uri callbackUrl = new System.Uri(url, "oAuth2CallBack");
var ub = new UriBuilder(callbackUrl);
// decodes urlencoded pairs from uri.Query to var
var httpValueCollection = HttpUtility.ParseQueryString(callbackUrl.Query);
httpValueCollection.Add(UrlArguments.Param, null);
// urlencodes the whole HttpValueCollection
ub.Query = httpValueCollection.ToString();
var authorizationRequest = OAuthClient.PrepareRequestUserAuthorization(new[] { "somedata" }, ub.Uri);
authorizationRequest.Send();
Я обновил пакеты NuGet OAuth и переписать код следующим образом:
var url = System.Web.HttpContext.Current.Request.Url;
Uri callbackUrl = new System.Uri(url, "oAuth2CallBack");
var ub = new UriBuilder(callbackUrl);
// decodes urlencoded pairs from uri.Query to var
var httpValueCollection = HttpUtility.ParseQueryString(callbackUrl.Query);
httpValueCollection.Add(UrlArguments.Param, null);
// urlencodes the whole HttpValueCollection
ub.Query = httpValueCollection.ToString();
var client = new WebServerClient(new AuthorizationServerDescription
{
TokenEndpoint = Configuration.OAuth2.TokenEndpoint,
AuthorizationEndpoint = Configuration.OAuth2.AuthorizationEndpoint,
},
clientIdentifier: Configuration.OAuth2.ClientIdentifier,
clientCredentialApplicator: ClientCredentialApplicator.PostParameter(
Configuration.OAuth2.ClientSecret));
var authorizationRequest = await client.PrepareRequestUserAuthorizationAsync(new[] { "somedata" }, ub.Uri);
await authorizationRequest.SendAsync();
но PrepareRequestUserAuthorizationAsync
кидает исключение
«Попытка по методу » DotNetOpenAuth.OAuth2.WebServerClient + d__3.Mo veNext() ' для доступа к методу ' Ошибка System.Collections.Generic.List`1..ctor(). "
Да, я получаю это тоже не может найти какую-либо документацию на него, это произошло на вар печеньем = новый список < CookieHeaderValue>(); line ... – TobyEvans
такой же для меня как для @TobyEvans !! – oldbrazil
В конце концов, я получил источник и прокомментировал код cookie, который вызывает ошибку, работает сейчас, но я не рад, что буду работать с этим – TobyEvans