ginjo / omniauth-slack

omniauth-slack ruby gem
https://rubygems.org/gems/ginjo-omniauth-slack
MIT License
42 stars 31 forks source link

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

Open kevinneub opened 2 years ago

kevinneub commented 2 years ago

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 methodexpired?' for nil:NilClass self.access_token = access_token.refresh! if access_token.expired?

Let me know if any other info is needed.

marcbest commented 2 years ago

@kevinneub did you manage to resolve this?

kevinneub commented 2 years ago

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.

marcbest commented 2 years ago

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

K-S-A commented 1 year ago

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

aka-nez commented 1 year ago

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