我们有这个网络应用程序,其中每个客户连接自己的域/使用子域到我们的域,为他们的帐户。此帐户可与Google Analytics集成以进行统计。
我们的问题在于AuthSub身份验证。通常,当我们重定向用户在Google上登录时,系统会显示错误AuthSub target path prefix does not match the provided "next" URL.
。
根据this question我将next
网址更改为非限制且没有重定向,但未解决此问题。
根据我的理解,我无法向Google注册我们的应用,因为每个客户都有自己独特的域名(尽管大多数都有* .our-app.com)。
我还能尝试什么?谢谢。
修改:这是完整的错误消息。
您请求的页面无法显示。另一个网站是 请求访问您的Google帐户,但发送的格式不正确 请求。请联系您尝试使用的网站 收到此消息以通知他们错误。一个详细的错误 消息如下:
AuthSub目标路径前缀与提供的“下一个”URL不匹配。
答案 0 :(得分:2)
此值应为Web应用程序站点上的页面
我的理解是域名应该在网络应用和下一个网址之间匹配。示例: web app - example.com next url - example.com/nexturl.php
目标网址路径前缀:此值使Google能够拒绝表面上使用不正确的域或前缀的所有授权请求。如果您要发出AuthSub请求,则此URL必须与授权请求中使用的下一个参数的前缀值相同。例如,如果您的下一个值类似于http://example.com/authsub和/或http://example.com/feed/authsub,则前缀应为http://example.com。
这样您就不会对某人进行身份验证,然后将其发送到其他网站。这是为了安全和保护用户帐户。
如果您的用户在子域名(如subdomain.example.com)上启动,而下一个网址是example.com,则很可能会失败。这就是你引用的问题中的问题。
你应该能够通过做那张海报来解决它。使下一个网址与网络应用程序(原始网页)相同,并使用网址参数重定向到您希望其转到的网页。
答案 1 :(得分:2)
解决了它。我为来自Google的所有重定向创建了一个公共域(用于next
参数),我在Google注册了该域名。
因此,如果用户拥有域“client.app.com”,则next
参数将如下所示:core.app.com/savetoken?domain=client.app.com
。此页面只是使用来自Google的令牌重定向到client.app.com/savetoken
。
答案 2 :(得分:2)
此问题出现在谷歌搜索中。
如果您错误地创建了下一个url example.com并且您的应用程序正在尝试重定向到www.example.com,您可以在此处更新AuthSub令牌:https://accounts.google.com/ManageDomains