omniauth OAuthException & OAuth::Unauthorized

后端 未结 3 1896
囚心锁ツ
囚心锁ツ 2021-01-02 15:46

I have installed omniauth 1.0. Also I have oauth-0.4.5, oauth2-0.5.1, omniauth-facebook-1.0.0, omniauth-twitter-0.0.6.

omniauth.rb
Rails.application.config.m         


        
相关标签:
3条回答
  • 2021-01-02 16:10

    Alex D. is correct in that the ENV[] breaks it. To create omniauth.rb so that it uses different keys in different environments just put:

    provider :twitter, TWITTER_KEY, TWITTER_SECRET
    

    in omniauth.rb

    and then in your environment config files (config/environments/development.rb, etc.) put the key you want to use for that environment.

    config/environments/development.rb:

    TWITTER_KEY = 'aaaaaaa'
    TWITTER_SECRET = 'aaaabbbbbb'
    

    config/environments/production.rb:

    TWITTER_KEY = 'ccccccc'
    TWITTER_SECRET = 'ccccffffdffffd'
    
    0 讨论(0)
  • 2021-01-02 16:16

    There have been breaking changes made in omniauth 1.0 - https://github.com/intridea/omniauth

    OmniAuth 1.0 has several breaking changes from version 0.x. You can set the dependency to ~> 0.3.2 if you do not wish to make the more difficult upgrade. See the wiki for more information.

    I would try reverting omniauth to 0.3.2:

    gem install omniauth --version '~> 0.3.2'
    

    or if you're using bundler, in your Gemfile:

    gem omniauth, '~> 0.3.2'
    
    0 讨论(0)
  • 2021-01-02 16:20

    ENV['something']

    looks into your environment vars for "something", so it would expect

    something='12345'

    so you should do it like that

    export AUTH_FB_KEY='....'
    export AUTH_FB_SECRET='...'
    

    check with

    env
    

    and update your config

    provider :facebook, ENV['AUTH_FB_KEY'], ENV['AUTH_FB_SECRET']
    

    if you use heroku

    heroku config:add AUTH_FB_KEY='....'
    
    0 讨论(0)
提交回复
热议问题