OAuth 2.0 с DotNetOpenAuth для .NET не работает с учетной записью Google - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь использовать OAuth 2.0 для авторизации на Google с библиотекой DotNetOpenAuth для .NET, код работает на Facebook, но с Google, когда я запрашиваю обратный вызов на конечную точку Google, после того как пользователь выберет учетную запись Google, в ответе возвращается только неверный запрос (код состояния 400)

Мой код похож на

public class GoogleClient : WebServerClient
{
    private static readonly AuthorizationServerDescription GoogleDescription = new AuthorizationServerDescription
    {
        TokenEndpoint = new Uri("https://accounts.google.com/o/oauth2/token"),
        AuthorizationEndpoint = new Uri("https://accounts.google.com/o/oauth2/auth"), 
        ProtocolVersion = ProtocolVersion.V20            
    };

    public GoogleClient() : base(GoogleDescription) { }
}

Используйте

GoogleClient client = new GoogleClient
{
    ClientIdentifier = ConfigurationHelper.GoogleAppId,
    ClientCredentialApplicator = ClientCredentialApplicator.PostParameter(ConfigurationHelper.GoogleAppSecret)
};

client.ProcessUserAuthorization();

1 Ответ

0 голосов
/ 18 сентября 2018

У нас та же проблема.Я заметил, что параметр scope включен в параметр redirect_uri в запросе HTTP post body (по какой-то странной причине он не закодирован правильно). Я думаю, что пришло время перейти к другой lib.

...