omniauth-slack icon indicating copy to clipboard operation
omniauth-slack copied to clipboard

Omniauth-oauth2 v.1.8.0 Causes "undefined method `expired?'"

Open kevinneub opened this issue 2 years ago • 5 comments

I had the following in my Gemfile... gem 'omniauth-oauth2', '~> 1.7'

After a bundle update omniauth-oauth2 went from v.1.7.3 -> 1.8.0

That caused errors when authenticating with Slack as follows... D, [2022-09-07T18:08:29.046543 #42987] DEBUG -- omniauth: (slack_chiirp) Callback phase initiated. OAuth2::Client#get_token argument extract_access_token will be removed in oauth2 v3. Refactor to use access_token_class on #initialize. D, [2022-09-07T18:08:29.047586 #42987] DEBUG -- omniauth: (slack) API request '[:post, "https://slack.com/api/oauth.v2.access"]'. E, [2022-09-07T18:08:29.200274 #42987] ERROR -- omniauth: (slack_chiirp) Authentication failure! undefined method expired?' for nil:NilClass self.access_token = access_token.refresh! if access_token.expired? ^^^^^^^^^: NoMethodError, undefined method expired?' for nil:NilClass self.access_token = access_token.refresh! if access_token.expired?

Let me know if any other info is needed.

kevinneub avatar Sep 07 '22 23:09 kevinneub

@kevinneub did you manage to resolve this?

marcbest avatar Sep 28 '22 21:09 marcbest

I reverted back to 1.7. I was not able to determine what was causing it. I understand the oauth2 process but I haven't spent the time to get a good handle on the omniauth gems.

kevinneub avatar Sep 28 '22 22:09 kevinneub

The linked PR fixes this for me, thanks @ozmar-salesloft

marcbest avatar Oct 16 '22 00:10 marcbest

Here is a fork with a bunch of the updates for the ruby 3.x and the latest version of the oauth-xx/oauth2:

https://github.com/riter-co/omniauth-slack

K-S-A avatar May 20 '23 09:05 K-S-A

@K-S-A big thanks! You saved me!

aka-nez avatar Oct 27 '23 10:10 aka-nez