0

我正在使用eventbrite omniauth对用户进行身份验证。参考https://github.com/k504866430/omniauth-eventbrite我包含了 gem 并创建了一个文件omniauth.rb文件为:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :eventbrite, ENV['EVENTBRITE_CLIENT_ID'], ENV['EVENTBRITE_CLIENT_SECRET']
end

在每个事件的显示页面上,都有指向使用 eventbrite 进行身份验证的链接。

事件/24

 = link_to "Authenticate with Eventbrite", "/auth/eventbrite"

当用户允许访问时,我希望回调 url 重定向到同一事件页面。

因此我需要知道如何在 params 中传递event_id以便应用程序可以返回到相同的事件页面以及应该如何在routes.rb文件中定义回调 url

4

1 回答 1

1

Eventbrite 的OAuth2.0 实现不允许您将 OAuth 回调 URL 定义为查询字符串参数。此 callback_url 只能通过配置您的Eventbrite 应用程序键的 'redirect_uri' 设置来定义。

也不支持传递自定义查询字符串参数(例如 event_id)。此外,在用户回到您的网站后,您还需要做一些后续工作

如果您需要在用户返回您的网站后重定向用户,我会考虑在用户的浏览器会话或其他数据存储中存储“redirect_url”(可能还有 event_id)。
设置单个登录页面(以匹配您的 redirect_uri)应该允许您在将用户发送到您选择的 url 之前完成 OAuth2.0 握手。

于 2012-09-11T21:49:35.723 回答