2016-03-24 23 views
0

Sosyal ağlarla giriş yapmak için omniauth kullanmaya çalışıyorum. Bu wiki kullanarak fakat başarılıOmniauth && yol tarifi yok

benim kod vardır vardır:

Routes.rb

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

benim kimlik doğrulama denetleyicisi:

class AuthController < ApplicationController 
    def create 
    p request.env['omniauth.auth'] 
    end 

    def vkontakte 

    end 

    def facebook 
    end 
end 

i rota hata var neden?

No route matches [GET] "/auth/vkontakte" 

Thnks

+0

Sağlayıcınızı yapılandırmanıza ayarlamanız gerektiğine inanıyorum. https://github.com/intridea/omniauth#getting-started –

+0

Elbette, ben wiki gibi her şeyi yaptım –

+0

Yemin etmek için kullandığınız bağlantıyı yapıştırabilir misiniz? –

cevap

1

Öncelikle, sana config/initializers/devise.rb bazı yapılandırma yapmak zorunda düşünüyorum.

config.omniauth :vkontakte, APP_ID, APP_SECRET size

class OmniauthCallbacksController < Devise::OmniauthCallbacksController 

    def vkontakte 
    # you can do anything you want to do here. Note that you have access to the `request.env["omniauth.auth"]` which holds all the user information you'd require. 
    end 
end 

Bir şey daha metodu uygulamak anlamına ile

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

gibi bir şey eklemek gerekir: Eğer devise documentation kontrol ediyorsanız bulacağını farklı yapılandırma seçenekleri, ancak her zaman AuthController üzerine yazmamaya/dikkat etmemeye dikkat edin, çünkü varsayılan olarak Omniauth'un kullandığı şey, sanırım ve ben devise ile çalışmak için inanıyorum, bazılarını miras almalısınız ApplicationController numaralı telefondan Devise'dan olmayanlar.

+0

Teşekkürler, şimdi benim için çalışıyor. –

İlgili konular