在这里碰壁。我将我的回调域设置为我的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);
我正确地被重定向,输入我的凭据,登录雅虎,但是我在雅虎的一方面看到了这个屏幕:
如果我在邮递员或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);
}
我错过了什么明显的东西吗?
答案 0 :(得分:0)
所以,找出发生了什么。在测试此类内容时,请务必清除Cookie或使用隐身模式。似乎Chrome正在缓存我的调用,因为在更改某些代码并测试后,我从未遇到过初始端点。一旦我这样做,我就能发现client_id由于我使用字符串文字的方式而没有正确设置。