带解析的条纹连接

Stripe Connect With Parse

我已经有了一个工作的条纹连接应用程序,但现在我无法解决如何使用 Parse 实现条纹连接的问题,而不是 Devise。

这是我已有的:

class OmniauthCallbacksController < Devise::OmniauthCallbacksController
  def stripe_connect
    @user = current_user
    if @user.update_attributes({
      provider: request.env["omniauth.auth"].provider,
      uid: request.env["omniauth.auth"].uid,
      access_code: request.env["omniauth.auth"].credentials.token,
      publishable_key: request.env["omniauth.auth"].info.stripe_publishable_key
    })
      # anything else you need to do in response..
      sign_in_and_redirect @user, :event => :authentication
      set_flash_message(:notice, :success, :kind => "Stripe") if is_navigational_format?
    else
      session["devise.stripe_connect_data"] = request.env["omniauth.auth"]
      redirect_to new_user_registration_url
    end
  end
end

还有我的路线:

devise_for :users, :controllers => { :omniauth_callbacks => "omniauth_callbacks" }

我只想知道如何操作它,以便我可以将它与 Parse RestApi 一起使用,谢谢。

您不需要删除设备,因为它正在为您的站点处理用户身份验证。另一方面,解析处理您的数据(基本上是保存和恢复数据)。

在您的 #stripe_connect 方法中,您似乎成功接收了有关用户的数据,用户登录后 Stripe 会为您提供这些数据。

如果您想保存该数据,请了解如何使用 Objects API

如果您想将信息保存在自己的数据库中(而不是 Parse),只需忘记 Parse,您的代码就可以了。

UPD。如果你正在使用omniauth-stripe-connect,你可以去掉Devise(因为你不需要它广泛的功能,只需要stripe connect)。

按照文档中的说明,将以下内容添加到 config/initializers/omniauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :stripe_connect, ENV['STRIPE_CONNECT_CLIENT_ID'], ENV['STRIPE_SECRET']
end
OmniAuth.config.logger = Rails.logger

然后添加到你的routes.rb:

get '/auth/:provider/callback', to: 'sessions#create'

然后将您的控制器重命名为 SessionsController,将您的 stripe_connect 方法重命名为 create。您将可以访问相同的 request.env['omniauth.auth'] 哈希。