GET / authorize中的Uber Api.Authentication OAuth2无效请求参数

时间:2018-08-28 13:31:19

标签: c# asp.net authentication oauth uber-api

嗨,

问题如下:

我试图使用C#Uber.SDK为Uber Api调用获取/授权。

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和参数是否正确,但是仍然出现此错误。

Error Page Example

文档 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

我的应用程序中的网址

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

从Uber的仪表板获取client_Id的位置。

请他人分享经验,也许可以帮助解决此问题。

1 个答案:

答案 0 :(得分:0)

重新研究后,问题出在创建正确的URL。 仪表板上提供了详细信息和正确的信息。

See the dashboard example