Yahoo OAuth Redirect无效

时间:2017-10-08 00:25:34

标签: c# asp.net-web-api oauth asp.net-core-webapi yahoo-api

在这里碰壁。我将我的回调域设置为我的ngrok实例(付费帐户)。我对雅虎认证的重定向请求如下:

"https://api.login.yahoo.com/oauth2/request_auth?client_id=fakeclientid--&redirect_uri=https://myname.ngrok.io/api/authentication_handler&response_type=code&language=en-us"

我重定向到那个:

return new RedirectResult(yahooOauthUrl);

我正确地被重定向,输入我的凭据,登录雅虎,但是我在雅虎的一方面看到了这个屏幕:

What Yahoo Shows

如果我在邮递员或Chrome中公开向我的重定向URI提交GET / POST请求,我会收到一个请求,我的localhost就好了。我还验证了我的Yahoo应用程序具有完全相同的回调域名:

myname.ngrok.io

处理我的回调请求的代码在这里:

// GET/POST api/authentication_handler
[HttpGet]
[Route("/api/authentication_handler")]
public HttpResponseMessage HandleAuthentication(string code)
{
    return string.IsNullOrWhiteSpace(code) 
        ? new HttpResponseMessage(HttpStatusCode.InternalServerError) 
        : new HttpResponseMessage(HttpStatusCode.OK);
}

我错过了什么明显的东西吗?

1 个答案:

答案 0 :(得分:0)

所以,找出发生了什么。在测试此类内容时,请务必清除Cookie或使用隐身模式。似乎Chrome正在缓存我的调用,因为在更改某些代码并测试后,我从未遇到过初始端点。一旦我这样做,我就能发现client_id由于我使用字符串文字的方式而没有正确设置。