Uber Api.Authentication OAuth2 НЕПРАВИЛЬНЫЕ ПАРАМЕТРЫ ЗАПРОСА в GET / authorize - PullRequest
0 голосов
/ 28 августа 2018

Привет,

Проблема заключается в следующем:

Я пытался вызвать Get / authorize для Uber Api, используя C # Uber.SDK.

https://github.com/timothyclifford/uber-csharp-sdk

 public ActionResult Index()
    {
        var scopes = new List<string> { "profile", "history_lite", "request" };

        var uberClient = UberClientHelper.GetAuth();
        var response = uberClient.GetAuthorizeUrl(scopes, Guid.NewGuid().ToString());

        return View("Index", (object)response);
    }



 public string GetAuthorizeUrl(List<string> scopes = null, string state = null, string redirectUri = null)
    {
        //var authorizeUrl = string.Concat("https://login.uber.com/oauth/authorize?response_type=code&client_id=", _clientId);

        var authorizeUrl = string.Concat("https://login.uber.com/oauth/v2/authorize?client_id=", _clientId);

        authorizeUrl += string.Concat("&response_type=code");
        if (scopes != null && scopes.Any())
        {
            authorizeUrl += string.Concat("&scope=", string.Join(" ", scopes));
        }

        if (!string.IsNullOrWhiteSpace(state))
        {
            authorizeUrl += string.Concat("&state=", state);
        }

        if (!string.IsNullOrWhiteSpace(redirectUri))
        {
            authorizeUrl += string.Concat("&redirect_uri=", HttpUtility.UrlEncode(redirectUri));
        }
        // Result will be https://login.uber.com/oauth/v2/authorize?client_id={client_ID}=code&scope=profile
        return authorizeUrl;
    }

И как результат, появляется некоторая ошибка Неверные параметры запроса выскакивает во время перенаправления по URL.

Я много раз проверял правильность URL вместе с параметрами, но все еще есть эта ошибка.

Пример страницы ошибки

Документация https://developer.uber.com/docs/riders/references/api/v2/authorize-get

https://login.uber.com/oauth/v2/authorize?client_id=<CLIENT_ID>&response_type=code&scope=profile

URL из моего приложения

https://login.uber.com/oauth/v2/authorize?client_id=someId&response_type=code&scope=profile

Где client_Id был взят с панели инструментов в Uber.

Может, кто-нибудь поделится опытом и, возможно, поможет с этой проблемой.

1 Ответ

0 голосов
/ 28 августа 2018

После некоторых исследований проблема заключалась в создании правильного URL. Подробности и правильная информация предоставлена ​​на вашей панели.

См. Пример панели управления

...