diff --git a/lib/devise/strategies/doorkeeper.rb b/lib/devise/strategies/doorkeeper.rb index 235e115..3e7eca4 100644 --- a/lib/devise/strategies/doorkeeper.rb +++ b/lib/devise/strategies/doorkeeper.rb @@ -43,9 +43,9 @@ def clean_up_csrf? def resource_from_token token = ::Doorkeeper.authenticate(request) - scopes = ::Doorkeeper.configuration.default_scopes + scopes = ::Doorkeeper.configuration.default_scopes + ::Doorkeeper.configuration.optional_scopes invalid_token unless token && token.acceptable?(scopes) - mapping.to.find(token.resource_owner_id) + mapping.to.find(token.resource_owner_id || token.application.owner_id) end def invalid_token