lib/doorkeeper/oauth/client_credentials/creator.rb in doorkeeper-5.6.9 vs lib/doorkeeper/oauth/client_credentials/creator.rb in doorkeeper-5.7.0
- old
+ new
@@ -6,11 +6,11 @@
class Creator
def call(client, scopes, attributes = {})
existing_token = nil
if lookup_existing_token?
- existing_token = find_active_existing_token_for(client, scopes)
+ existing_token = find_active_existing_token_for(client, scopes, attributes)
return existing_token if Doorkeeper.config.reuse_access_token && existing_token&.reusable?
end
with_revocation(existing_token: existing_token) do
application = client.is_a?(Doorkeeper.config.application_model) ? client : client&.application
@@ -42,11 +42,14 @@
def lookup_existing_token?
Doorkeeper.config.reuse_access_token ||
Doorkeeper.config.revoke_previous_client_credentials_token?
end
- def find_active_existing_token_for(client, scopes)
- Doorkeeper.config.access_token_model.matching_token_for(client, nil, scopes, include_expired: false)
+ def find_active_existing_token_for(client, scopes, attributes)
+ custom_attributes = Doorkeeper.config.access_token_model.
+ extract_custom_attributes(attributes).presence
+ Doorkeeper.config.access_token_model.matching_token_for(
+ client, nil, scopes, custom_attributes: custom_attributes, include_expired: false)
end
end
end
end
end