REDIRECT URIS OAuth 2.0是否有命名标准

本文关键字:标准 是否 URIS OAuth REDIRECT | 更新日期: 2023-09-27 18:21:28

我只想知道REDIRECT URI上是否有以下方面的命名标准:使用OAuth 2.0时,Twitter、LinkedIn、Microsoft、Facebook和Google?

因为,如果我这样写我的域:http://domain.com/account/external-signin.aspx除了Twitter和Facebook,所有外部登录都停止工作。account/external-signin.aspx是我正在使用的真实URL,我应该为每个外部登录提供该URL。

因此,Microsoft给出了以下错误:我们无法完成您的请求Microsoft帐户遇到技术问题。请稍后再试。

领英:无效的redirect_uri。此值必须与使用API密钥注册的URL匹配。

还有谷歌那是个错误。错误:redirect_uri_mismatch

如果我删除了页面扩展名.aspx,它似乎可以工作,尽管我故意写了一个错误的url,比如http://domain.com/sign-google,http://domain.com/sign-microsoft等等。

我正在使用MVC5和C#。

我想我错过了一些东西。。。

感谢您的帮助

REDIRECT URIS OAuth 2.0是否有命名标准

最后,这里是正确的答案:

不是你选择重定向URL。您必须在应用程序管理中写入您的域.com/登录-{suppliername}。

示例:

  1. Microsoft:https://domain.com/signin-microsoft
  2. 领英:https://domain.com/signin-linkedin
  3. 谷歌:https://domain.com/signin-google

Facebook和Twitter可以使用您自己的重定向URL。一旦成功注册,效果立竿见影。希望这能帮助到别人。

Karine

此错误表示您与返回的URL以及在API服务器上注册的返回URL不匹配。当您在服务器上注册应用程序时,(对于谷歌:https://code.google.com/apis/console)您必须确保使用的URL是匹配的。

在此之后,您将不会收到此错误,我认为在您将此属性设置为的服务器上,http://domain.com/account/external-signin(没有aspx;正如您所说的,这在没有扩展的情况下有效,但没有扩展)。所以也试着在服务器上更改它。

对于Linkedin,请在您的url中添加"signin-Linkedin"。例如,如果您的url为http://localhost:{portnumber},请确保其在中注册并链接为"http://localhost:{portnumber}/signin linkedin",这将起作用。

快乐编码:)