雅虎 OAuth 重定向不工作
Yahoo OAuth Redirect not working
有点碰壁了。我将我的回调域设置为我的 ngrok 实例(付费帐户)。我对 Yahoo 的身份验证的重定向请求如下所示:
"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 请求,我会收到一个命中我的本地主机的请求。我还验证了我的 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);
}
我遗漏了什么明显的东西吗?
所以,找出发生了什么。确保在测试此类内容时清除 cookie 或使用隐身模式。似乎 Chrome 正在缓存我的调用,因为在更改一些代码并对其进行测试后,我什至从未达到初始端点。一旦我这样做了,我发现 client_id 由于我使用字符串文字的方式而没有正确设置。
有点碰壁了。我将我的回调域设置为我的 ngrok 实例(付费帐户)。我对 Yahoo 的身份验证的重定向请求如下所示:
"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 请求,我会收到一个命中我的本地主机的请求。我还验证了我的 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);
}
我遗漏了什么明显的东西吗?
所以,找出发生了什么。确保在测试此类内容时清除 cookie 或使用隐身模式。似乎 Chrome 正在缓存我的调用,因为在更改一些代码并对其进行测试后,我什至从未达到初始端点。一旦我这样做了,我发现 client_id 由于我使用字符串文字的方式而没有正确设置。