Microsoft Azure - Google OAuth2重定向URI不匹配

时间:2016-07-07 16:42:15

标签: c# asp.net-mvc google-oauth azure-web-sites

我发现有类似的问题已发布,但我读过的都不适用于我的情况/解决了我的问题。

我正在使用Microsoft Azure和Visual Studio 2015 Pro。 Google OAuth2使用Visual Studio 2015 for localhost通过Google帐户进行身份验证。但是,当我发布到Microsoft Azure时,我选择了要用于身份验证的Google帐户后收到错误“REDIRECT_URI_MISMATCH”。

我将Google OAuth2 ID和Google OAuth2 Secret存储在Google下的Authorization / Credentials Azure控制台中,用于身份验证方法。这些凭据与我用于在本地使用Visual Studio 2015进行测试的凭据相匹配,后者已成功进行身份验证。

即使我反复检查浏览器中引用的重定向URI是否与我在控制台的Google URI重定向部分中输入的重定向URI相匹配,可能导致此URI不匹配错误的原因是什么?请参阅错误链接屏幕截图和URI信息(用于隐私的占位符/替代网站名称)。

注意:我确实知道在Visual Studio中它要求我添加防火墙规则以允许我在发布时使用本地IP(我认为与数据库有关)。无关的红鲱鱼?我以为我会提到它以防万一。

  1. Google Error: redirect_uri_mismatch
  2. Google Console: Listed Redirect URIs

1 个答案:

答案 0 :(得分:0)

真实归功于@WilliamDenniss

进一步研究:使用代理过滤器,实际请求信息显示Microsoft Azure未使用client_id的正确参数(即使在Microsoft Azure控制台中是正确的)(正如William Denniss建议的那样)并且浏览器(谷歌浏览器)在返回的错误中报告了正确的凭据,并且(令人惊讶地)在地址栏中报告了正确的信息。我怀疑这是与会话/缓存有关的故障 - 值得注意的是我正在使用微软正在转换的新的有些未完成的Azure控制台。

解决方案:我不仅必须在Google控制台中为我创建的项目创建新凭据,并在Microsoft Azure控制台中匹配这些新凭据,还要清除我的整个缓存/ Cookie等。为了发送/使用client_id的正确参数,我再次使用代理过滤器进行验证。只有在我完成了上面提到的所有操作之后,才会解决错误。