Using :
- Services 6.x-2.2
- Key Authentication 6.x-2.2
- Rest Server 6.x-2.0-beta3

Scenario:
- create connection via system.connect to get session id
- attempt to login user, having both "Use keys" and "Use sessid" checkboxes checked

Code on line 215 of services_keyauth.inc queries the services_key_permissions table. This query expects two string arguments, but the second one (which is supposed to be the method name), $method_name, is actually an array, not a string. The necessary string is in $method_name['method'].

I am not 100% sure if the issue is that the wrong variable is being used within services_keyauth.inc, or the wrong data is being passed to this function (_services_keyauth_authenticate_call()) somewhere up the backtrace ladder, but something is definitely wrong. Changing $method_name to $method_name['method'] allows me to successfully log the user in.

Comments

marcingy’s picture

Project: Services » REST Server
Version: 6.x-2.2 » 6.x-2.0-beta3

Move this to the rest server queue as nothing has changed in keyauth recently so I'm assuming something has changed in the rest server.