条纹 OAuth - 重定向 URL = "No route matches [GET] "/oauth/callback"
Stripe OAuth - redirect URL = "No route matches [GET] "/oauth/callback"
当托管在 Heroku 上时,我的 Stripe Connect 重定向 URL 遇到了一些问题。
运行 在本地,一切都按预期工作,用户连接到 OAuth,将他们的可发布密钥保存到数据库,然后正常通过站点进行。
然而,在 Heroku 上,用户通过 OAuth 连接到 Stripe,输入他们的详细信息和密码,然后在重定向时,他们会收到以下错误消息:
Heroku | No such app
There is no app configured at that hostname.
Perhaps the app owner has renamed it, or you mistyped the URL.
文档到目前为止没有帮助,我在 Stack Overflow 上也找不到类似的东西。
条纹详细信息:
生产重定向 URI:https://www.hidden-hamlet-51741.herokuapp.com/oauth/callback
我试过一些变体,但没有成功。
Heroku 日志:
2016-03-23T13:23:37.799909+00:00 heroku[router]: at=info method=GET path="/users/auth/stripe_connect" host=hidden-hamlet-51741.herokuapp.com request_id=4d52e646-6d02-45be-87e6-7492665c4d17 fwd="86.138.166.211" dyno=web.1 connect=2ms service=19ms status=302 bytes=1549
2016-03-23T13:23:37.796546+00:00 app[web.1]: Started GET "/users/auth/stripe_connect" for 86.138.166.211 at 2016-03-23 13:23:37 +0000
2016-03-23T13:23:37.799240+00:00 app[web.1]: I, [2016-03-23T13:23:37.799170 #3] INFO -- omniauth: (stripe_connect) Request phase initiated.
2016-03-23T13:30:57.289321+00:00 app[web.1]: Started GET "/users/auth/stripe_connect" for 86.138.166.211 at 2016-03-23 13:30:57 +0000
2016-03-23T13:30:57.306551+00:00 app[web.1]: I, [2016-03-23T13:30:57.306458 #3] INFO -- omniauth: (stripe_connect) Request phase initiated.
2016-03-23T13:30:57.309718+00:00 heroku[router]: at=info method=GET path="/users/auth/stripe_connect" host=hidden-hamlet-51741.herokuapp.com request_id=e7805fd0-3973-4a27-b842-433e1dbb1532 fwd="86.138.166.211" dyno=web.1 connect=2ms service=30ms status=302 bytes=1549
将我的 Production.rb 文件更改为 "config.consider_all_requests_local = true" 并再次推送到 Heroku 后,收到以下错误消息:
No route matches [GET] "/oauth/callback"
我的 Stripe OAuth 相关路由如下所示:
user_omniauth_authorize GET|POST /users/auth/:provider(.:format) omniauth_callbacks#passthru {:provider=>/stripe_connect/}
user_omniauth_callback GET|POST /users/auth/:action/callback(.:format) omniauth_callbacks#(?-mix:stripe_connect)
stripe_connect GET /stripeconnect(.:format) groups#stripe
任何指示都会非常有帮助。
谢谢。
您是否将 www
配置为 hidden-hamlet-51741
的子域?如果不是,那么您需要从生产重定向 URI 中删除 www
。它应该是这样的:
https://hidden-hamlet-51741.herokuapp.com/oauth/callback
答案:
我的 Stripe 仪表板上的重定向 URL 不正确,/oauth 而不是 /auth,一个简单的脑洞。
然后在更改它之后,我不得不 运行 "figaro heroku:set -e production",我在 SO 的某处找到了它,它将所有变量的值设置为生产,文档中有更多详细信息 - https://github.com/laserlemon/figaro
谢谢大家,
当托管在 Heroku 上时,我的 Stripe Connect 重定向 URL 遇到了一些问题。
运行 在本地,一切都按预期工作,用户连接到 OAuth,将他们的可发布密钥保存到数据库,然后正常通过站点进行。
然而,在 Heroku 上,用户通过 OAuth 连接到 Stripe,输入他们的详细信息和密码,然后在重定向时,他们会收到以下错误消息:
Heroku | No such app
There is no app configured at that hostname.
Perhaps the app owner has renamed it, or you mistyped the URL.
文档到目前为止没有帮助,我在 Stack Overflow 上也找不到类似的东西。
条纹详细信息:
生产重定向 URI:https://www.hidden-hamlet-51741.herokuapp.com/oauth/callback
我试过一些变体,但没有成功。
Heroku 日志:
2016-03-23T13:23:37.799909+00:00 heroku[router]: at=info method=GET path="/users/auth/stripe_connect" host=hidden-hamlet-51741.herokuapp.com request_id=4d52e646-6d02-45be-87e6-7492665c4d17 fwd="86.138.166.211" dyno=web.1 connect=2ms service=19ms status=302 bytes=1549
2016-03-23T13:23:37.796546+00:00 app[web.1]: Started GET "/users/auth/stripe_connect" for 86.138.166.211 at 2016-03-23 13:23:37 +0000
2016-03-23T13:23:37.799240+00:00 app[web.1]: I, [2016-03-23T13:23:37.799170 #3] INFO -- omniauth: (stripe_connect) Request phase initiated.
2016-03-23T13:30:57.289321+00:00 app[web.1]: Started GET "/users/auth/stripe_connect" for 86.138.166.211 at 2016-03-23 13:30:57 +0000
2016-03-23T13:30:57.306551+00:00 app[web.1]: I, [2016-03-23T13:30:57.306458 #3] INFO -- omniauth: (stripe_connect) Request phase initiated.
2016-03-23T13:30:57.309718+00:00 heroku[router]: at=info method=GET path="/users/auth/stripe_connect" host=hidden-hamlet-51741.herokuapp.com request_id=e7805fd0-3973-4a27-b842-433e1dbb1532 fwd="86.138.166.211" dyno=web.1 connect=2ms service=30ms status=302 bytes=1549
将我的 Production.rb 文件更改为 "config.consider_all_requests_local = true" 并再次推送到 Heroku 后,收到以下错误消息:
No route matches [GET] "/oauth/callback"
我的 Stripe OAuth 相关路由如下所示:
user_omniauth_authorize GET|POST /users/auth/:provider(.:format) omniauth_callbacks#passthru {:provider=>/stripe_connect/}
user_omniauth_callback GET|POST /users/auth/:action/callback(.:format) omniauth_callbacks#(?-mix:stripe_connect)
stripe_connect GET /stripeconnect(.:format) groups#stripe
任何指示都会非常有帮助。
谢谢。
您是否将 www
配置为 hidden-hamlet-51741
的子域?如果不是,那么您需要从生产重定向 URI 中删除 www
。它应该是这样的:
https://hidden-hamlet-51741.herokuapp.com/oauth/callback
答案:
我的 Stripe 仪表板上的重定向 URL 不正确,/oauth 而不是 /auth,一个简单的脑洞。
然后在更改它之后,我不得不 运行 "figaro heroku:set -e production",我在 SO 的某处找到了它,它将所有变量的值设置为生产,文档中有更多详细信息 - https://github.com/laserlemon/figaro
谢谢大家,