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