首页 > 解决方案 > 使用omni + desive authenication使用google_oauth2登录时遇到麻烦

问题描述

我正在做项目,我需要添加社交身份验证,所以我选择omniauth + devise 进行身份验证。首先,我从运行良好的 Facebook 身份验证开始,之后我使用gem 'omniauth-facebook', '~> 4.0'了谷歌身份验证并按照本文中的说明进行操作, 但它There was a problem signing you in. Please register or try signing in later. 从我使用的以下代码中显示OmniauthController

def google_oauth2
    @user = User.create_from_google_data(request.env['omniauth.auth'])
    if @user.persisted?
        sign_in_and_redirect @user
        set_flash_message(:notice, :success, kind: 'Google') if is_navigational_format?
    else
        flash[:error] = 'There was a problem signing you in through Google. Please register or try signing in later.'
        redirect_to new_user_registration_url
    end 
end

def failure
    flash[:error] = 'There was a problem signing you in. Please register or try signing in later.' 
    redirect_to new_user_registration_url
end

它从OmniauthController. 我不知道这背后的问题是什么,我想知道从昨天开始我也在谷歌上搜索,但没有找到解决这个问题的好东西。

标签: ruby-on-railsdeviseomniauth

解决方案


我已经解决了我的问题,实际上我已经创建了一个新的谷歌凭据(应用程序 ID,密钥),但忘记启用 API。现在我启用了谷歌 API,谷歌身份验证工作正常。

启用API


推荐阅读