如何解决Yahoo OAuth无效的客户端ID
我正在尝试将ASP.NET Core 3.1 Web应用程序与Yahoo连接。为此,我必须使用OAuth设置授权。我遵循了一些不同的指南,包括:
https://developer.yahoo.com/oauth2/guide/openid_connect/getting_started.html
https://www.yogihosting.com/implementing-yahoo-oauth-2-0-in-csharp-and-asp-net/
然后我将代码设置为使用以下代码将授权请求发送给Yahoo:
public void YahooAuth()
{
string id = configuration["YahooClientId"];
string returnUrl = "https://www.fantasysimmer.com/FootballSimulator/Sim";
string url = $"https://api.login.yahoo.com/oauth2/request_auth?client_id={id}--&response_type=code&redirect_uri={returnUrl}";
Response.Redirect(url);
}
但是,运行此代码后,出现错误页面,并显示消息“开发人员:请指定有效的客户端,然后再次提交。”,URL显示:
我仔细检查了两次客户ID,URL中的客户ID与Yahoo App的个人资料中的ID相同。我现在想知道,在注册应用程序时我错过了一个额外的步骤,还是我的代码有问题?
编辑:已取得进展!客户端ID后的破折号必须是示例的一部分,否则是错误的。删除该错误后,我开始收到一个新错误,要求输入有效的请求。这与我的返回网址有关,因为用'oob'替换它使它可以通过。
解决方法
所以有两个错误。首先是不应在客户端ID后加上“-”。我不确定为什么在雅虎的例子中它们在那里存在,但是并不需要它们。第二个原因是我的返回uri在我的代码中大写,但在我的应用程序设置中未大写。现在可以了!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。