我在omniauth-google-oauth2 gem 的自述文件中遵循了教程,当我点击我的root(@ pages#home)上的链接时<%= link_to "Sign up with Google", user_google_oauth2_omniauth_authorize_path %>,我收到错误:
未找到.身份验证passthru.
我已经确认ENV vars在那里.我一直在寻找类似的主题,没有运气.知道我做错了什么吗?
在路线:
Rails.application.routes.draw do
devise_for :users, controllers: { :omniauth_callbacks => "users/omniauth_callbacks" }
Run Code Online (Sandbox Code Playgroud)
我的omniauth_callbacks_controller位于 /controllers/users/omniauth_callbacks_controller.rb
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def google_oauth2
# You need to implement the method below in your model (e.g. app/models/user.rb)
@user = User.from_omniauth(request.env["omniauth.auth"])
if @user.persisted?
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Google"
sign_in_and_redirect @user, :event => :authentication
else
session["devise.google_data"] = request.env["omniauth.auth"].except(:extra) #Removing extra as it can overflow some session stores …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Devise实现Oauth Twitter.
我在twitter上创建了应用程序
我已将回调网址设置为:http:// localhost:3000
我已将此添加到config\initializers\devise.rb
config.omniauth :twitter, "key", "key secret"
Run Code Online (Sandbox Code Playgroud)
使用Twitter登录会自动出现在此路线:/ users/sign_up /但点击它时我收到此错误
密钥和密钥是正确的
我也尝试删除和创建新的应用程序.
我无法修复它
非常感谢帮助