Authentication failure! invalid_credentials: OAuth::Unauthorized, 401 Authorization Required












0















I want to create Twitter login function,but error is occured.



My error is



Authentication failure! invalid_credentials: OAuth::Unauthorized, 401 Authorization Required
Processing by Users::OmniauthCallbacksController#failure as HTML
Parameters: {"oauth_token"=>"OFSEOwAAAAAA9LdUAAABaAyY_Uc", "oauth_verifier"=>"hogehogehoge"}
Redirected to http://localhost:3000/


initializers/omniauth.rb



Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, 'agfrfgagfkfuauR1U8Busfd4KAiq', 'djkjsgkjgkasjkdfjskajfkjdskfjsk'
end


initializers/divise.rb



 config.omniauth :twitter, ENV['TWITTER_API_KEY'], ENV['TWITTER_API_SECRET'], scope: 'email', oauth_callback: "#{ENV['HOST']}/users/auth/twitter/callback"


routes.rb



 devise_for controllers: { registrations: "registrations", omniauth_callbacks: 'users/omniauth_callbacks' }


controllers/users/ominiauth.rb



class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

# callback for twitter
def twitter
callback_for(:twitter)
end

def callback_for(provider)
@user = User.from_omniauth(request.env["omniauth.auth"])
if @user.persisted?
sign_in_and_redirect @user, event: :authentication #this will throw if @user is not activated
set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format?
else
session["devise.#{provider}_data"] = request.env["omniauth.auth"].except("extra")
redirect_to new_user_registration_url
end
end

def failure
redirect_to root_path
end
end


model/user.rb



devise :omniauthable, omniauth_providers: %i[twitter]
def self.from_omniauth(auth)
where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
user.email = auth.info.email
user.password = Devise.friendly_token[0,20]
end
end


Please teach me a hint!










share|improve this question





























    0















    I want to create Twitter login function,but error is occured.



    My error is



    Authentication failure! invalid_credentials: OAuth::Unauthorized, 401 Authorization Required
    Processing by Users::OmniauthCallbacksController#failure as HTML
    Parameters: {"oauth_token"=>"OFSEOwAAAAAA9LdUAAABaAyY_Uc", "oauth_verifier"=>"hogehogehoge"}
    Redirected to http://localhost:3000/


    initializers/omniauth.rb



    Rails.application.config.middleware.use OmniAuth::Builder do
    provider :twitter, 'agfrfgagfkfuauR1U8Busfd4KAiq', 'djkjsgkjgkasjkdfjskajfkjdskfjsk'
    end


    initializers/divise.rb



     config.omniauth :twitter, ENV['TWITTER_API_KEY'], ENV['TWITTER_API_SECRET'], scope: 'email', oauth_callback: "#{ENV['HOST']}/users/auth/twitter/callback"


    routes.rb



     devise_for controllers: { registrations: "registrations", omniauth_callbacks: 'users/omniauth_callbacks' }


    controllers/users/ominiauth.rb



    class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

    # callback for twitter
    def twitter
    callback_for(:twitter)
    end

    def callback_for(provider)
    @user = User.from_omniauth(request.env["omniauth.auth"])
    if @user.persisted?
    sign_in_and_redirect @user, event: :authentication #this will throw if @user is not activated
    set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format?
    else
    session["devise.#{provider}_data"] = request.env["omniauth.auth"].except("extra")
    redirect_to new_user_registration_url
    end
    end

    def failure
    redirect_to root_path
    end
    end


    model/user.rb



    devise :omniauthable, omniauth_providers: %i[twitter]
    def self.from_omniauth(auth)
    where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
    user.email = auth.info.email
    user.password = Devise.friendly_token[0,20]
    end
    end


    Please teach me a hint!










    share|improve this question



























      0












      0








      0








      I want to create Twitter login function,but error is occured.



      My error is



      Authentication failure! invalid_credentials: OAuth::Unauthorized, 401 Authorization Required
      Processing by Users::OmniauthCallbacksController#failure as HTML
      Parameters: {"oauth_token"=>"OFSEOwAAAAAA9LdUAAABaAyY_Uc", "oauth_verifier"=>"hogehogehoge"}
      Redirected to http://localhost:3000/


      initializers/omniauth.rb



      Rails.application.config.middleware.use OmniAuth::Builder do
      provider :twitter, 'agfrfgagfkfuauR1U8Busfd4KAiq', 'djkjsgkjgkasjkdfjskajfkjdskfjsk'
      end


      initializers/divise.rb



       config.omniauth :twitter, ENV['TWITTER_API_KEY'], ENV['TWITTER_API_SECRET'], scope: 'email', oauth_callback: "#{ENV['HOST']}/users/auth/twitter/callback"


      routes.rb



       devise_for controllers: { registrations: "registrations", omniauth_callbacks: 'users/omniauth_callbacks' }


      controllers/users/ominiauth.rb



      class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

      # callback for twitter
      def twitter
      callback_for(:twitter)
      end

      def callback_for(provider)
      @user = User.from_omniauth(request.env["omniauth.auth"])
      if @user.persisted?
      sign_in_and_redirect @user, event: :authentication #this will throw if @user is not activated
      set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format?
      else
      session["devise.#{provider}_data"] = request.env["omniauth.auth"].except("extra")
      redirect_to new_user_registration_url
      end
      end

      def failure
      redirect_to root_path
      end
      end


      model/user.rb



      devise :omniauthable, omniauth_providers: %i[twitter]
      def self.from_omniauth(auth)
      where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
      user.email = auth.info.email
      user.password = Devise.friendly_token[0,20]
      end
      end


      Please teach me a hint!










      share|improve this question
















      I want to create Twitter login function,but error is occured.



      My error is



      Authentication failure! invalid_credentials: OAuth::Unauthorized, 401 Authorization Required
      Processing by Users::OmniauthCallbacksController#failure as HTML
      Parameters: {"oauth_token"=>"OFSEOwAAAAAA9LdUAAABaAyY_Uc", "oauth_verifier"=>"hogehogehoge"}
      Redirected to http://localhost:3000/


      initializers/omniauth.rb



      Rails.application.config.middleware.use OmniAuth::Builder do
      provider :twitter, 'agfrfgagfkfuauR1U8Busfd4KAiq', 'djkjsgkjgkasjkdfjskajfkjdskfjsk'
      end


      initializers/divise.rb



       config.omniauth :twitter, ENV['TWITTER_API_KEY'], ENV['TWITTER_API_SECRET'], scope: 'email', oauth_callback: "#{ENV['HOST']}/users/auth/twitter/callback"


      routes.rb



       devise_for controllers: { registrations: "registrations", omniauth_callbacks: 'users/omniauth_callbacks' }


      controllers/users/ominiauth.rb



      class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

      # callback for twitter
      def twitter
      callback_for(:twitter)
      end

      def callback_for(provider)
      @user = User.from_omniauth(request.env["omniauth.auth"])
      if @user.persisted?
      sign_in_and_redirect @user, event: :authentication #this will throw if @user is not activated
      set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format?
      else
      session["devise.#{provider}_data"] = request.env["omniauth.auth"].except("extra")
      redirect_to new_user_registration_url
      end
      end

      def failure
      redirect_to root_path
      end
      end


      model/user.rb



      devise :omniauthable, omniauth_providers: %i[twitter]
      def self.from_omniauth(auth)
      where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
      user.email = auth.info.email
      user.password = Devise.friendly_token[0,20]
      end
      end


      Please teach me a hint!







      ruby-on-rails ruby devise omniauth omniauth-twitter






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 4 at 11:20









      ray

      3,2041727




      3,2041727










      asked Jan 2 at 3:37







      user10358924































          1 Answer
          1






          active

          oldest

          votes


















          0














          Assuming you using gem devise, omniauth-oauth2 & omniauth-twitter,



          Check your API key and API secret provided in your rails app whether it matches from your registered a Twitter app.






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54000942%2fauthentication-failure-invalid-credentials-oauthunauthorized-401-authorizat%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown
























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Assuming you using gem devise, omniauth-oauth2 & omniauth-twitter,



            Check your API key and API secret provided in your rails app whether it matches from your registered a Twitter app.






            share|improve this answer




























              0














              Assuming you using gem devise, omniauth-oauth2 & omniauth-twitter,



              Check your API key and API secret provided in your rails app whether it matches from your registered a Twitter app.






              share|improve this answer


























                0












                0








                0







                Assuming you using gem devise, omniauth-oauth2 & omniauth-twitter,



                Check your API key and API secret provided in your rails app whether it matches from your registered a Twitter app.






                share|improve this answer













                Assuming you using gem devise, omniauth-oauth2 & omniauth-twitter,



                Check your API key and API secret provided in your rails app whether it matches from your registered a Twitter app.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 4 at 7:42









                rayray

                3,2041727




                3,2041727
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54000942%2fauthentication-failure-invalid-credentials-oauthunauthorized-401-authorizat%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Monofisismo

                    Angular Downloading a file using contenturl with Basic Authentication

                    Olmecas