

RailsのアプリでGoogleのOauthを入れようとしてます。  
一通り設定してからGoogle+のソーシャルログインリンクボタンを押したところ  
[![error](https://i.stack.imgur.com/ZvAQC.png)](https://i.stack.imgur.com/ZvAQC.png)  
となりました。

各ソースは以下の通りです。まずGemfile。

[code]

    # Devise & Omniauth
    gem 'devise'
    gem 'omniauth'
    gem 'omniauth-facebook'
    gem 'omniauth-twitter'
    gem 'omniauth-google-oauth2'
    
[/code]

コントローラーはこちらです。

[code]

    class Users::OmniauthCallbacksController < Devise::RegistrationsController
    
        def google
          @user = User.find_for_google(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']
            redirect_to new_user_registration_url
          end
      end
    
[/code]

Viewはこちらです。

[code]

    - if devise_mapping.omniauthable?
        = link_to image_tag('facebook.png'), user_omniauth_authorize_path(:facebook)
        = link_to image_tag('twitter.png'), user_omniauth_authorize_path(:twitter)
        = link_to image_tag('google.png'), user_omniauth_authorize_path(:google)
        br
    
[/code]

Route.rbはこちらです。

[code]

    Rails.application.routes.draw do
    get 'home/index'
    
    devise_for :users, skip: [:session, :password, :registration], controllers: { omniauth_callbacks: "users/omniauth_callbacks" }
    
    scope "(:locale)", locale: /en|ja/ do
       get '/' => 'frontpage#index'
       get 'restaurant/' => 'restaurant#index'
       get 'restaurant/:id' => 'restaurant#show'
    
       devise_for :users, skip: [:omniauth_callbacks]
    
    end
    
[/code]

最後にGoogleDeveloperの設定です。  
[![googleapi](https://i.stack.imgur.com/YAgOj.png)](https://i.stack.imgur.com/YAgOj.png)  
恐らく、リダイレクト先が間違っていてViewのヘルパーuser_omniauth_authorize_pathあたりが不適切な情報を取ってきているのだろうと推測するのですが、どこを直すべきかわかりません。  
どなたかご教示頂けると幸いです。


CC BY-SA 3.0
2016-08-19T07:18:17.753
28372
2016-08-26T10:52:14.643
2016-08-26T10:52:14.643
15185
4784
question
ruby-on-rails oauth devise
Omniauth-GoogleApi設定でredirect_uri_mismatch