omniauth_openid_connect 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +58 -0
- data/.travis.yml +1 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +2 -0
- data/Guardfile +5 -3
- data/lib/omniauth/openid_connect.rb +2 -0
- data/lib/omniauth/openid_connect/errors.rb +2 -0
- data/lib/omniauth/openid_connect/version.rb +3 -1
- data/lib/omniauth/strategies/openid_connect.rb +65 -59
- data/lib/omniauth_openid_connect.rb +2 -0
- data/omniauth_openid_connect.gemspec +12 -11
- data/test/lib/omniauth/strategies/openid_connect_test.rb +3 -3
- metadata +39 -38
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a57713d348ab1dcc7869b8d10ed8b616958019a0c7003a0b5e43e00e85650b0a
         | 
| 4 | 
            +
              data.tar.gz: e6ff5320c65348937e7fa2cf140aff27f89957415ded839debcd645e01031353
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 5664e73c24e1521b4b29461eb3ee558dfb143d75322c83f2c3d3f3ee48cd24c8e99f1a348915de574abb1b907103de948cf0c16ebfebd11fa13a2e8206f13d78
         | 
| 7 | 
            +
              data.tar.gz: 272a32b0b75f54ca1d861fe361c380d6ee2d9170b9862322f7e9b6edd12e7e2a9cfc37db95b2b549896f9ebc1d6e90272ec0a24cefc4ed195ccc90edff5476d5
         | 
    
        data/.rubocop.yml
    ADDED
    
    | @@ -0,0 +1,58 @@ | |
| 1 | 
            +
            LineLength:
         | 
| 2 | 
            +
              Description: 'Limit lines to 130 characters.'
         | 
| 3 | 
            +
              Max: 130
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            Layout/SpaceInsideStringInterpolation:
         | 
| 6 | 
            +
              Enabled: false
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            Layout/MultilineOperationIndentation:
         | 
| 9 | 
            +
              EnforcedStyle: indented
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            StringLiterals:
         | 
| 12 | 
            +
              EnforcedStyle: single_quotes
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            Style/TrailingCommaInArrayLiteral:
         | 
| 15 | 
            +
              EnforcedStyleForMultiline: comma
         | 
| 16 | 
            +
            Style/TrailingCommaInHashLiteral:
         | 
| 17 | 
            +
              EnforcedStyleForMultiline: comma
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            Style/SafeNavigation:
         | 
| 20 | 
            +
              Enabled: false
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            Style/EmptyMethod:
         | 
| 23 | 
            +
              Description: 'Checks the formatting of empty method definitions.'
         | 
| 24 | 
            +
              StyleGuide: '#no-single-line-methods'
         | 
| 25 | 
            +
              Enabled: false
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            HashSyntax:
         | 
| 28 | 
            +
              Description: "Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax\n{ :a => 1, :b => 2 }"
         | 
| 29 | 
            +
              EnforcedStyle: ruby19
         | 
| 30 | 
            +
              Enabled: true
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            RedundantBegin:
         | 
| 33 | 
            +
              Enabled: true
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            Documentation:
         | 
| 36 | 
            +
              Enabled: false
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            Metrics/AbcSize:
         | 
| 39 | 
            +
              Max: 50
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            Metrics/CyclomaticComplexity:
         | 
| 42 | 
            +
              Max: 50
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            Metrics/PerceivedComplexity:
         | 
| 45 | 
            +
              Max: 15
         | 
| 46 | 
            +
             | 
| 47 | 
            +
            Metrics/BlockLength:
         | 
| 48 | 
            +
              Max: 40
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            Metrics/MethodLength:
         | 
| 51 | 
            +
              Max: 45
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            AllCops:
         | 
| 54 | 
            +
              Exclude:
         | 
| 55 | 
            +
                - bin/**/*
         | 
| 56 | 
            +
                - Rakefile
         | 
| 57 | 
            +
                - config/**/*
         | 
| 58 | 
            +
                - test/**/*
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/Guardfile
    CHANGED
    
    | @@ -1,11 +1,13 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            # A sample Guardfile
         | 
| 2 4 | 
             
            # More info at https://github.com/guard/guard#readme
         | 
| 3 5 |  | 
| 4 6 | 
             
            guard 'minitest' do
         | 
| 5 7 | 
             
              # with Minitest::Unit
         | 
| 6 | 
            -
              watch(%r | 
| 7 | 
            -
              watch(%r | 
| 8 | 
            -
              watch(%r | 
| 8 | 
            +
              watch(%r{^test/(.*)\/(.*)_test\.rb})
         | 
| 9 | 
            +
              watch(%r{^lib/(.*)\.rb}) { |m| "test/lib/#{m[1]}_test.rb" }
         | 
| 10 | 
            +
              watch(%r{^test/test_helper\.rb}) { 'test' }
         | 
| 9 11 | 
             
            end
         | 
| 10 12 |  | 
| 11 13 | 
             
            guard :bundler do
         | 
| @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            require 'addressable/uri'
         | 
| 2 4 | 
             
            require 'timeout'
         | 
| 3 5 | 
             
            require 'net/http'
         | 
| @@ -14,30 +16,30 @@ module OmniAuth | |
| 14 16 |  | 
| 15 17 | 
             
                  def_delegator :request, :params
         | 
| 16 18 |  | 
| 17 | 
            -
                  option : | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 19 | 
            +
                  option :name, 'openid_connect'
         | 
| 20 | 
            +
                  option(:client_options, identifier: nil,
         | 
| 21 | 
            +
                                          secret: nil,
         | 
| 22 | 
            +
                                          redirect_uri: nil,
         | 
| 23 | 
            +
                                          scheme: 'https',
         | 
| 24 | 
            +
                                          host: nil,
         | 
| 25 | 
            +
                                          port: 443,
         | 
| 26 | 
            +
                                          authorization_endpoint: '/authorize',
         | 
| 27 | 
            +
                                          token_endpoint: '/token',
         | 
| 28 | 
            +
                                          userinfo_endpoint: '/userinfo',
         | 
| 29 | 
            +
                                          jwks_uri: '/jwk',
         | 
| 30 | 
            +
                                          end_session_endpoint: nil)
         | 
| 31 | 
            +
             | 
| 30 32 | 
             
                  option :issuer
         | 
| 31 33 | 
             
                  option :discovery, false
         | 
| 32 34 | 
             
                  option :client_signing_alg
         | 
| 33 35 | 
             
                  option :client_jwk_signing_key
         | 
| 34 36 | 
             
                  option :client_x509_signing_key
         | 
| 35 37 | 
             
                  option :scope, [:openid]
         | 
| 36 | 
            -
                  option :response_type,  | 
| 38 | 
            +
                  option :response_type, 'code'
         | 
| 37 39 | 
             
                  option :state
         | 
| 38 40 | 
             
                  option :response_mode
         | 
| 39 | 
            -
                  option :display, nil  | 
| 40 | 
            -
                  option :prompt, nil  | 
| 41 | 
            +
                  option :display, nil # [:page, :popup, :touch, :wap]
         | 
| 42 | 
            +
                  option :prompt, nil # [:none, :login, :consent, :select_account]
         | 
| 41 43 | 
             
                  option :hd, nil
         | 
| 42 44 | 
             
                  option :max_age
         | 
| 43 45 | 
             
                  option :ui_locales
         | 
| @@ -66,7 +68,7 @@ module OmniAuth | |
| 66 68 | 
             
                      gender: user_info.gender,
         | 
| 67 69 | 
             
                      image: user_info.picture,
         | 
| 68 70 | 
             
                      phone: user_info.phone_number,
         | 
| 69 | 
            -
                      urls: { website: user_info.website }
         | 
| 71 | 
            +
                      urls: { website: user_info.website },
         | 
| 70 72 | 
             
                    }
         | 
| 71 73 | 
             
                  end
         | 
| 72 74 |  | 
| @@ -80,7 +82,7 @@ module OmniAuth | |
| 80 82 | 
             
                      token: access_token.access_token,
         | 
| 81 83 | 
             
                      refresh_token: access_token.refresh_token,
         | 
| 82 84 | 
             
                      expires_in: access_token.expires_in,
         | 
| 83 | 
            -
                      scope: access_token.scope
         | 
| 85 | 
            +
                      scope: access_token.scope,
         | 
| 84 86 | 
             
                    }
         | 
| 85 87 | 
             
                  end
         | 
| 86 88 |  | 
| @@ -93,27 +95,28 @@ module OmniAuth | |
| 93 95 | 
             
                  end
         | 
| 94 96 |  | 
| 95 97 | 
             
                  def request_phase
         | 
| 96 | 
            -
                    options.issuer = issuer if options.issuer. | 
| 98 | 
            +
                    options.issuer = issuer if options.issuer.to_s.empty?
         | 
| 97 99 | 
             
                    discover!
         | 
| 98 100 | 
             
                    redirect authorize_uri
         | 
| 99 101 | 
             
                  end
         | 
| 100 102 |  | 
| 101 103 | 
             
                  def callback_phase
         | 
| 102 104 | 
             
                    error = params['error_reason'] || params['error']
         | 
| 103 | 
            -
                     | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 113 | 
            -
             | 
| 114 | 
            -
             | 
| 115 | 
            -
             | 
| 116 | 
            -
                     | 
| 105 | 
            +
                    error_description = params['error_description'] || params['error_reason']
         | 
| 106 | 
            +
                    invalid_state = params['state'].to_s.empty? || params['state'] != stored_state
         | 
| 107 | 
            +
             | 
| 108 | 
            +
                    raise CallbackError.new(params['error'], error_description, params['error_uri']) if error
         | 
| 109 | 
            +
             | 
| 110 | 
            +
                    raise CallbackError, 'Invalid state parameter' if invalid_state
         | 
| 111 | 
            +
             | 
| 112 | 
            +
                    return fail!(:missing_code, OmniAuth::OpenIDConnect::MissingCodeError.new(params['error'])) unless params['code']
         | 
| 113 | 
            +
             | 
| 114 | 
            +
                    options.issuer = issuer if options.issuer.nil? || options.issuer.empty?
         | 
| 115 | 
            +
                    discover!
         | 
| 116 | 
            +
                    client.redirect_uri = redirect_uri
         | 
| 117 | 
            +
                    client.authorization_code = authorization_code
         | 
| 118 | 
            +
                    access_token
         | 
| 119 | 
            +
                    super
         | 
| 117 120 | 
             
                  rescue CallbackError, ::Rack::OAuth2::Client::Error => e
         | 
| 118 121 | 
             
                    fail!(:invalid_credentials, e)
         | 
| 119 122 | 
             
                  rescue ::Timeout::Error, ::Errno::ETIMEDOUT => e
         | 
| @@ -124,7 +127,7 @@ module OmniAuth | |
| 124 127 |  | 
| 125 128 | 
             
                  def other_phase
         | 
| 126 129 | 
             
                    if logout_path_pattern.match?(current_path)
         | 
| 127 | 
            -
                      options.issuer = issuer if options.issuer. | 
| 130 | 
            +
                      options.issuer = issuer if options.issuer.to_s.empty?
         | 
| 128 131 | 
             
                      discover!
         | 
| 129 132 | 
             
                      return redirect(end_session_uri) if end_session_uri
         | 
| 130 133 | 
             
                    end
         | 
| @@ -137,6 +140,7 @@ module OmniAuth | |
| 137 140 |  | 
| 138 141 | 
             
                  def end_session_uri
         | 
| 139 142 | 
             
                    return unless end_session_endpoint_is_valid?
         | 
| 143 | 
            +
             | 
| 140 144 | 
             
                    end_session_uri = URI(client_options.end_session_endpoint)
         | 
| 141 145 | 
             
                    end_session_uri.query = encoded_post_logout_redirect_uri
         | 
| 142 146 | 
             
                    end_session_uri.to_s
         | 
| @@ -155,11 +159,12 @@ module OmniAuth | |
| 155 159 | 
             
                      nonce: (new_nonce if options.send_nonce),
         | 
| 156 160 | 
             
                      hd: options.hd,
         | 
| 157 161 | 
             
                    }
         | 
| 158 | 
            -
                    client.authorization_uri(opts.reject { | | 
| 162 | 
            +
                    client.authorization_uri(opts.reject { |_k, v| v.nil? })
         | 
| 159 163 | 
             
                  end
         | 
| 160 164 |  | 
| 161 165 | 
             
                  def public_key
         | 
| 162 166 | 
             
                    return config.jwks if options.discovery
         | 
| 167 | 
            +
             | 
| 163 168 | 
             
                    key_or_secret
         | 
| 164 169 | 
             
                  end
         | 
| 165 170 |  | 
| @@ -173,6 +178,7 @@ module OmniAuth | |
| 173 178 |  | 
| 174 179 | 
             
                  def discover!
         | 
| 175 180 | 
             
                    return unless options.discovery
         | 
| 181 | 
            +
             | 
| 176 182 | 
             
                    client_options.authorization_endpoint = config.authorization_endpoint
         | 
| 177 183 | 
             
                    client_options.token_endpoint = config.token_endpoint
         | 
| 178 184 | 
             
                    client_options.userinfo_endpoint = config.userinfo_endpoint
         | 
| @@ -185,19 +191,19 @@ module OmniAuth | |
| 185 191 | 
             
                  end
         | 
| 186 192 |  | 
| 187 193 | 
             
                  def access_token
         | 
| 188 | 
            -
                    @access_token  | 
| 189 | 
            -
             | 
| 190 | 
            -
             | 
| 191 | 
            -
             | 
| 192 | 
            -
                       | 
| 193 | 
            -
             | 
| 194 | 
            -
             | 
| 195 | 
            -
             | 
| 196 | 
            -
             | 
| 197 | 
            -
             | 
| 198 | 
            -
                       | 
| 199 | 
            -
             | 
| 200 | 
            -
                     | 
| 194 | 
            +
                    return @access_token if @access_token
         | 
| 195 | 
            +
             | 
| 196 | 
            +
                    @access_token = client.access_token!(
         | 
| 197 | 
            +
                      scope: (options.scope if options.send_scope_to_token_endpoint),
         | 
| 198 | 
            +
                      client_auth_method: options.client_auth_method
         | 
| 199 | 
            +
                    )
         | 
| 200 | 
            +
                    id_token = decode_id_token(@access_token.id_token)
         | 
| 201 | 
            +
                    id_token.verify!(
         | 
| 202 | 
            +
                      issuer: options.issuer,
         | 
| 203 | 
            +
                      client_id: client_options.identifier,
         | 
| 204 | 
            +
                      nonce: stored_nonce
         | 
| 205 | 
            +
                    )
         | 
| 206 | 
            +
                    @access_token
         | 
| 201 207 | 
             
                  end
         | 
| 202 208 |  | 
| 203 209 | 
             
                  def decode_id_token(id_token)
         | 
| @@ -233,20 +239,20 @@ module OmniAuth | |
| 233 239 |  | 
| 234 240 | 
             
                  def session
         | 
| 235 241 | 
             
                    return {} if @env.nil?
         | 
| 242 | 
            +
             | 
| 236 243 | 
             
                    super
         | 
| 237 244 | 
             
                  end
         | 
| 238 245 |  | 
| 239 246 | 
             
                  def key_or_secret
         | 
| 240 247 | 
             
                    case options.client_signing_alg
         | 
| 241 248 | 
             
                    when :HS256, :HS384, :HS512
         | 
| 242 | 
            -
                       | 
| 249 | 
            +
                      client_options.secret
         | 
| 243 250 | 
             
                    when :RS256, :RS384, :RS512
         | 
| 244 251 | 
             
                      if options.client_jwk_signing_key
         | 
| 245 | 
            -
                         | 
| 252 | 
            +
                        parse_jwk_key(options.client_jwk_signing_key)
         | 
| 246 253 | 
             
                      elsif options.client_x509_signing_key
         | 
| 247 | 
            -
                         | 
| 254 | 
            +
                        parse_x509_key(options.client_x509_signing_key)
         | 
| 248 255 | 
             
                      end
         | 
| 249 | 
            -
                    else
         | 
| 250 256 | 
             
                    end
         | 
| 251 257 | 
             
                  end
         | 
| 252 258 |  | 
| @@ -256,24 +262,24 @@ module OmniAuth | |
| 256 262 |  | 
| 257 263 | 
             
                  def parse_jwk_key(key)
         | 
| 258 264 | 
             
                    json = JSON.parse(key)
         | 
| 259 | 
            -
                    if json. | 
| 260 | 
            -
             | 
| 261 | 
            -
                     | 
| 262 | 
            -
                      JSON::JWK.new json
         | 
| 263 | 
            -
                    end
         | 
| 265 | 
            +
                    return JSON::JWK::Set.new(json['keys']) if json.key?('keys')
         | 
| 266 | 
            +
             | 
| 267 | 
            +
                    JSON::JWK.new(json)
         | 
| 264 268 | 
             
                  end
         | 
| 265 269 |  | 
| 266 270 | 
             
                  def decode(str)
         | 
| 267 | 
            -
                    UrlSafeBase64.decode64(str). | 
| 271 | 
            +
                    UrlSafeBase64.decode64(str).unpack1('B*').to_i(2).to_s
         | 
| 268 272 | 
             
                  end
         | 
| 269 273 |  | 
| 270 274 | 
             
                  def redirect_uri
         | 
| 271 275 | 
             
                    return client_options.redirect_uri unless params['redirect_uri']
         | 
| 276 | 
            +
             | 
| 272 277 | 
             
                    "#{ client_options.redirect_uri }?redirect_uri=#{ CGI.escape(params['redirect_uri']) }"
         | 
| 273 278 | 
             
                  end
         | 
| 274 279 |  | 
| 275 280 | 
             
                  def encoded_post_logout_redirect_uri
         | 
| 276 281 | 
             
                    return unless options.post_logout_redirect_uri
         | 
| 282 | 
            +
             | 
| 277 283 | 
             
                    URI.encode_www_form(
         | 
| 278 284 | 
             
                      post_logout_redirect_uri: options.post_logout_redirect_uri
         | 
| 279 285 | 
             
                    )
         | 
| @@ -291,7 +297,7 @@ module OmniAuth | |
| 291 297 | 
             
                  class CallbackError < StandardError
         | 
| 292 298 | 
             
                    attr_accessor :error, :error_reason, :error_uri
         | 
| 293 299 |  | 
| 294 | 
            -
                    def initialize(error, error_reason=nil, error_uri=nil)
         | 
| 300 | 
            +
                    def initialize(error, error_reason = nil, error_uri = nil)
         | 
| 295 301 | 
             
                      self.error = error
         | 
| 296 302 | 
             
                      self.error_reason = error_reason
         | 
| 297 303 | 
             
                      self.error_uri = error_uri
         | 
| @@ -1,5 +1,6 @@ | |
| 1 | 
            -
            #  | 
| 2 | 
            -
             | 
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            lib = File.expand_path('lib', __dir__)
         | 
| 3 4 | 
             
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         | 
| 4 5 | 
             
            require 'omniauth/openid_connect/version'
         | 
| 5 6 |  | 
| @@ -14,21 +15,21 @@ Gem::Specification.new do |spec| | |
| 14 15 | 
             
              spec.license       = 'MIT'
         | 
| 15 16 |  | 
| 16 17 | 
             
              spec.files         = `git ls-files -z`.split("\x0")
         | 
| 17 | 
            -
              spec.executables   = spec.files.grep(%r | 
| 18 | 
            -
              spec.test_files    = spec.files.grep(%r | 
| 18 | 
            +
              spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
         | 
| 19 | 
            +
              spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
         | 
| 19 20 | 
             
              spec.require_paths = ['lib']
         | 
| 20 21 |  | 
| 22 | 
            +
              spec.add_dependency 'addressable', '~> 2.5'
         | 
| 21 23 | 
             
              spec.add_dependency 'omniauth', '~> 1.3'
         | 
| 22 24 | 
             
              spec.add_dependency 'openid_connect', '~> 1.1'
         | 
| 23 | 
            -
              spec. | 
| 24 | 
            -
              spec.add_development_dependency ' | 
| 25 | 
            -
              spec.add_development_dependency 'mocha', '~> 1.7'
         | 
| 25 | 
            +
              spec.add_development_dependency 'coveralls', '~> 0.8'
         | 
| 26 | 
            +
              spec.add_development_dependency 'faker', '~> 1.6'
         | 
| 26 27 | 
             
              spec.add_development_dependency 'guard', '~> 2.14'
         | 
| 28 | 
            +
              spec.add_development_dependency 'guard-bundler', '~> 2.2'
         | 
| 27 29 | 
             
              spec.add_development_dependency 'guard-minitest', '~> 2.4'
         | 
| 28 | 
            -
              spec.add_development_dependency ' | 
| 30 | 
            +
              spec.add_development_dependency 'minitest', '~> 5.1'
         | 
| 31 | 
            +
              spec.add_development_dependency 'mocha', '~> 1.7'
         | 
| 29 32 | 
             
              spec.add_development_dependency 'rake', '~> 12.0'
         | 
| 33 | 
            +
              spec.add_development_dependency 'rubocop', '~> 0.63'
         | 
| 30 34 | 
             
              spec.add_development_dependency 'simplecov', '~> 0.12'
         | 
| 31 | 
            -
              spec.add_development_dependency 'pry', '~> 0.9'
         | 
| 32 | 
            -
              spec.add_development_dependency 'coveralls', '~> 0.8'
         | 
| 33 | 
            -
              spec.add_development_dependency 'faker', '~> 1.6'
         | 
| 34 35 | 
             
            end
         | 
| @@ -35,7 +35,7 @@ module OmniAuth | |
| 35 35 | 
             
                    config.stubs(:end_session_endpoint).returns('https://example.com/logout')
         | 
| 36 36 | 
             
                    ::OpenIDConnect::Discovery::Provider::Config.stubs(:discover!).with('https://example.com/').returns(config)
         | 
| 37 37 |  | 
| 38 | 
            -
                    request.stubs(:path_info).returns('/auth/ | 
| 38 | 
            +
                    request.stubs(:path_info).returns('/auth/openid_connect/logout')
         | 
| 39 39 |  | 
| 40 40 | 
             
                    strategy.expects(:redirect).with(regexp_matches(expected_redirect))
         | 
| 41 41 | 
             
                    strategy.other_phase
         | 
| @@ -59,7 +59,7 @@ module OmniAuth | |
| 59 59 | 
             
                    config.stubs(:end_session_endpoint).returns('https://example.com/logout')
         | 
| 60 60 | 
             
                    ::OpenIDConnect::Discovery::Provider::Config.stubs(:discover!).with('https://example.com/').returns(config)
         | 
| 61 61 |  | 
| 62 | 
            -
                    request.stubs(:path_info).returns('/auth/ | 
| 62 | 
            +
                    request.stubs(:path_info).returns('/auth/openid_connect/logout')
         | 
| 63 63 |  | 
| 64 64 | 
             
                    strategy.expects(:redirect).with(expected_redirect)
         | 
| 65 65 | 
             
                    strategy.other_phase
         | 
| @@ -69,7 +69,7 @@ module OmniAuth | |
| 69 69 | 
             
                    strategy.options.issuer = 'example.com'
         | 
| 70 70 | 
             
                    strategy.options.client_options.host = 'example.com'
         | 
| 71 71 |  | 
| 72 | 
            -
                    request.stubs(:path_info).returns('/auth/ | 
| 72 | 
            +
                    request.stubs(:path_info).returns('/auth/openid_connect/logout')
         | 
| 73 73 |  | 
| 74 74 | 
             
                    strategy.expects(:call_app!)
         | 
| 75 75 | 
             
                    strategy.other_phase
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: omniauth_openid_connect
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.3. | 
| 4 | 
            +
              version: 0.3.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - John Bohn
         | 
| @@ -9,78 +9,78 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2019- | 
| 12 | 
            +
            date: 2019-06-08 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            -
              name:  | 
| 15 | 
            +
              name: addressable
         | 
| 16 16 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                requirements:
         | 
| 18 18 | 
             
                - - "~>"
         | 
| 19 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version: ' | 
| 20 | 
            +
                    version: '2.5'
         | 
| 21 21 | 
             
              type: :runtime
         | 
| 22 22 | 
             
              prerelease: false
         | 
| 23 23 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 24 24 | 
             
                requirements:
         | 
| 25 25 | 
             
                - - "~>"
         | 
| 26 26 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            -
                    version: ' | 
| 27 | 
            +
                    version: '2.5'
         | 
| 28 28 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 29 | 
            -
              name:  | 
| 29 | 
            +
              name: omniauth
         | 
| 30 30 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 31 31 | 
             
                requirements:
         | 
| 32 32 | 
             
                - - "~>"
         | 
| 33 33 | 
             
                  - !ruby/object:Gem::Version
         | 
| 34 | 
            -
                    version: '1. | 
| 34 | 
            +
                    version: '1.3'
         | 
| 35 35 | 
             
              type: :runtime
         | 
| 36 36 | 
             
              prerelease: false
         | 
| 37 37 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 38 38 | 
             
                requirements:
         | 
| 39 39 | 
             
                - - "~>"
         | 
| 40 40 | 
             
                  - !ruby/object:Gem::Version
         | 
| 41 | 
            -
                    version: '1. | 
| 41 | 
            +
                    version: '1.3'
         | 
| 42 42 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 43 | 
            -
              name:  | 
| 43 | 
            +
              name: openid_connect
         | 
| 44 44 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 45 45 | 
             
                requirements:
         | 
| 46 46 | 
             
                - - "~>"
         | 
| 47 47 | 
             
                  - !ruby/object:Gem::Version
         | 
| 48 | 
            -
                    version: ' | 
| 48 | 
            +
                    version: '1.1'
         | 
| 49 49 | 
             
              type: :runtime
         | 
| 50 50 | 
             
              prerelease: false
         | 
| 51 51 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 52 52 | 
             
                requirements:
         | 
| 53 53 | 
             
                - - "~>"
         | 
| 54 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 55 | 
            -
                    version: ' | 
| 55 | 
            +
                    version: '1.1'
         | 
| 56 56 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 57 | 
            -
              name:  | 
| 57 | 
            +
              name: coveralls
         | 
| 58 58 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 59 59 | 
             
                requirements:
         | 
| 60 60 | 
             
                - - "~>"
         | 
| 61 61 | 
             
                  - !ruby/object:Gem::Version
         | 
| 62 | 
            -
                    version: ' | 
| 62 | 
            +
                    version: '0.8'
         | 
| 63 63 | 
             
              type: :development
         | 
| 64 64 | 
             
              prerelease: false
         | 
| 65 65 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 66 66 | 
             
                requirements:
         | 
| 67 67 | 
             
                - - "~>"
         | 
| 68 68 | 
             
                  - !ruby/object:Gem::Version
         | 
| 69 | 
            -
                    version: ' | 
| 69 | 
            +
                    version: '0.8'
         | 
| 70 70 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 71 | 
            -
              name:  | 
| 71 | 
            +
              name: faker
         | 
| 72 72 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 73 73 | 
             
                requirements:
         | 
| 74 74 | 
             
                - - "~>"
         | 
| 75 75 | 
             
                  - !ruby/object:Gem::Version
         | 
| 76 | 
            -
                    version: '1. | 
| 76 | 
            +
                    version: '1.6'
         | 
| 77 77 | 
             
              type: :development
         | 
| 78 78 | 
             
              prerelease: false
         | 
| 79 79 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 80 80 | 
             
                requirements:
         | 
| 81 81 | 
             
                - - "~>"
         | 
| 82 82 | 
             
                  - !ruby/object:Gem::Version
         | 
| 83 | 
            -
                    version: '1. | 
| 83 | 
            +
                    version: '1.6'
         | 
| 84 84 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 85 85 | 
             
              name: guard
         | 
| 86 86 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -96,103 +96,103 @@ dependencies: | |
| 96 96 | 
             
                  - !ruby/object:Gem::Version
         | 
| 97 97 | 
             
                    version: '2.14'
         | 
| 98 98 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 99 | 
            -
              name: guard- | 
| 99 | 
            +
              name: guard-bundler
         | 
| 100 100 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 101 101 | 
             
                requirements:
         | 
| 102 102 | 
             
                - - "~>"
         | 
| 103 103 | 
             
                  - !ruby/object:Gem::Version
         | 
| 104 | 
            -
                    version: '2. | 
| 104 | 
            +
                    version: '2.2'
         | 
| 105 105 | 
             
              type: :development
         | 
| 106 106 | 
             
              prerelease: false
         | 
| 107 107 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 108 108 | 
             
                requirements:
         | 
| 109 109 | 
             
                - - "~>"
         | 
| 110 110 | 
             
                  - !ruby/object:Gem::Version
         | 
| 111 | 
            -
                    version: '2. | 
| 111 | 
            +
                    version: '2.2'
         | 
| 112 112 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 113 | 
            -
              name: guard- | 
| 113 | 
            +
              name: guard-minitest
         | 
| 114 114 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 115 115 | 
             
                requirements:
         | 
| 116 116 | 
             
                - - "~>"
         | 
| 117 117 | 
             
                  - !ruby/object:Gem::Version
         | 
| 118 | 
            -
                    version: '2. | 
| 118 | 
            +
                    version: '2.4'
         | 
| 119 119 | 
             
              type: :development
         | 
| 120 120 | 
             
              prerelease: false
         | 
| 121 121 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 122 122 | 
             
                requirements:
         | 
| 123 123 | 
             
                - - "~>"
         | 
| 124 124 | 
             
                  - !ruby/object:Gem::Version
         | 
| 125 | 
            -
                    version: '2. | 
| 125 | 
            +
                    version: '2.4'
         | 
| 126 126 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 127 | 
            -
              name:  | 
| 127 | 
            +
              name: minitest
         | 
| 128 128 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 129 129 | 
             
                requirements:
         | 
| 130 130 | 
             
                - - "~>"
         | 
| 131 131 | 
             
                  - !ruby/object:Gem::Version
         | 
| 132 | 
            -
                    version: ' | 
| 132 | 
            +
                    version: '5.1'
         | 
| 133 133 | 
             
              type: :development
         | 
| 134 134 | 
             
              prerelease: false
         | 
| 135 135 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 136 136 | 
             
                requirements:
         | 
| 137 137 | 
             
                - - "~>"
         | 
| 138 138 | 
             
                  - !ruby/object:Gem::Version
         | 
| 139 | 
            -
                    version: ' | 
| 139 | 
            +
                    version: '5.1'
         | 
| 140 140 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 141 | 
            -
              name:  | 
| 141 | 
            +
              name: mocha
         | 
| 142 142 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 143 143 | 
             
                requirements:
         | 
| 144 144 | 
             
                - - "~>"
         | 
| 145 145 | 
             
                  - !ruby/object:Gem::Version
         | 
| 146 | 
            -
                    version: ' | 
| 146 | 
            +
                    version: '1.7'
         | 
| 147 147 | 
             
              type: :development
         | 
| 148 148 | 
             
              prerelease: false
         | 
| 149 149 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 150 150 | 
             
                requirements:
         | 
| 151 151 | 
             
                - - "~>"
         | 
| 152 152 | 
             
                  - !ruby/object:Gem::Version
         | 
| 153 | 
            -
                    version: ' | 
| 153 | 
            +
                    version: '1.7'
         | 
| 154 154 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 155 | 
            -
              name:  | 
| 155 | 
            +
              name: rake
         | 
| 156 156 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 157 157 | 
             
                requirements:
         | 
| 158 158 | 
             
                - - "~>"
         | 
| 159 159 | 
             
                  - !ruby/object:Gem::Version
         | 
| 160 | 
            -
                    version: '0 | 
| 160 | 
            +
                    version: '12.0'
         | 
| 161 161 | 
             
              type: :development
         | 
| 162 162 | 
             
              prerelease: false
         | 
| 163 163 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 164 164 | 
             
                requirements:
         | 
| 165 165 | 
             
                - - "~>"
         | 
| 166 166 | 
             
                  - !ruby/object:Gem::Version
         | 
| 167 | 
            -
                    version: '0 | 
| 167 | 
            +
                    version: '12.0'
         | 
| 168 168 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 169 | 
            -
              name:  | 
| 169 | 
            +
              name: rubocop
         | 
| 170 170 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 171 171 | 
             
                requirements:
         | 
| 172 172 | 
             
                - - "~>"
         | 
| 173 173 | 
             
                  - !ruby/object:Gem::Version
         | 
| 174 | 
            -
                    version: '0. | 
| 174 | 
            +
                    version: '0.63'
         | 
| 175 175 | 
             
              type: :development
         | 
| 176 176 | 
             
              prerelease: false
         | 
| 177 177 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 178 178 | 
             
                requirements:
         | 
| 179 179 | 
             
                - - "~>"
         | 
| 180 180 | 
             
                  - !ruby/object:Gem::Version
         | 
| 181 | 
            -
                    version: '0. | 
| 181 | 
            +
                    version: '0.63'
         | 
| 182 182 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 183 | 
            -
              name:  | 
| 183 | 
            +
              name: simplecov
         | 
| 184 184 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 185 185 | 
             
                requirements:
         | 
| 186 186 | 
             
                - - "~>"
         | 
| 187 187 | 
             
                  - !ruby/object:Gem::Version
         | 
| 188 | 
            -
                    version: ' | 
| 188 | 
            +
                    version: '0.12'
         | 
| 189 189 | 
             
              type: :development
         | 
| 190 190 | 
             
              prerelease: false
         | 
| 191 191 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 192 192 | 
             
                requirements:
         | 
| 193 193 | 
             
                - - "~>"
         | 
| 194 194 | 
             
                  - !ruby/object:Gem::Version
         | 
| 195 | 
            -
                    version: ' | 
| 195 | 
            +
                    version: '0.12'
         | 
| 196 196 | 
             
            description: OpenID Connect Strategy for OmniAuth.
         | 
| 197 197 | 
             
            email:
         | 
| 198 198 | 
             
            - jjbohn@gmail.com
         | 
| @@ -202,6 +202,7 @@ extensions: [] | |
| 202 202 | 
             
            extra_rdoc_files: []
         | 
| 203 203 | 
             
            files:
         | 
| 204 204 | 
             
            - ".gitignore"
         | 
| 205 | 
            +
            - ".rubocop.yml"
         | 
| 205 206 | 
             
            - ".travis.yml"
         | 
| 206 207 | 
             
            - CHANGELOG.md
         | 
| 207 208 | 
             
            - Gemfile
         |