如何在没有重定向的情况下从OmniAuth提供程序获取auth URL

时间:2016-08-31 15:49:02

标签: ruby-on-rails ruby omniauth omniauth-twitter

当您转到/auth/twitter时,如何获取OmniAuth重定向到的网址?

我正在构建一个API服务器,只想将JSON中的URL传递给客户端,以便它可以使用URL做任何需要的事情。

我认为我想要的是策略request_phase的结果,因为它看起来像是auth URL,但我如何在新控制器中获取它,以便我能做到:

class MyOauthController < ApplicationController
  # GET /my_oauth/signin/twitter.json
  def signin
    url = ???
    render json: {signin_url: url}
  end

有干净的方法吗?

1 个答案:

答案 0 :(得分:0)

是的,Omniauth为您提供帮助功能:

user_omniauth_authorize_path(key)
# for your case
user_omniauth_authorize_path("twitter")

查看their Devise overview