Git Product home page Git Product logo

Comments (3)

mazoonit avatar mazoonit commented on September 22, 2024 1

@Ksm125 Ended up doing the same yes to append custom state variable to the query string.
I used inheritance though because I used the plain OpenIDConnect in another connections so I tended not to directly patch It but after all It's the same Idea 👨🏻‍💻

module OmniAuth
    module Strategies
      class Custom < OmniAuth::Strategies::OpenIDConnect
        option :name, 'custom'
        def new_state
            state = if options.state.respond_to?(:call)
                      if options.state.arity == 1
                        options.state.call(env)
                      else
                        options.state.call
                      end
                    end
            if request.params['state']
                state = request.params['state']
            end
            session['omniauth.state'] = state || SecureRandom.hex(16)
        end
      end
    end
end

Thanks 🚀

from omniauth_openid_connect.

mazoonit avatar mazoonit commented on September 22, 2024

Hey, Did you get any luck with this ?

from omniauth_openid_connect.

Ksm125 avatar Ksm125 commented on September 22, 2024

Hey, Did you get any luck with this ?

@mazoonit yes, so i ended up just doing a monkey patch of the library with this :

module OmniAuth
  module Strategies
    # Override of the OpenIDConnect strategy to include the query string in the redirect_uri
    class OpenIDConnect
      # override of the redirect_uri method to include to dynamically detect the correct redirect_uri
      def redirect_uri
        callback_url
      end
    end
  end
end

from omniauth_openid_connect.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.