Open MattKirchhof opened 1 year ago
Thanks for reporting this; do you want to open a PR to make the API changes?
Sure! I have a fixed version of vkontakte.js ready for review, if you could help me open a PR to do so.
See our Contribution Guide for how to make a pull request, or read our New Contributor's Guide if this is your first time contributing.
New Issue Checklist
Issue Description
Vkontakte Adapter fails authentication.
When trying to use Parse to authenticate a vkontakte account holder (via Adapters/Auth/vkontakte.js), we encounter the following error:
"Parse error: Vk appIds or appSecret is incorrect."
stack trace:
"Error: Vk appIds or appSecret is incorrect.at /app/node_modules/parse-server/lib/Adapters/Auth/vkontakte.js:20:11 at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Promise.all (index 0)"
We have noticed that the vkontakte.js file has not been updated since 2020. We have verified multiple times that our appId and secret are correct and unchanged.
After contacting VK support, they noted an API change as of Oct 2022. See their response:
Reply - "Since October 17, 2022, we have disabled the ability to obtain a service token through the Client Credentials Flow: https://dev.vk.com/reference/roadmap#Disabling_Clien... If you are working with methods in the secure section, you need to use the service key from the application settings."
Steps to reproduce
Any login via vkontakte results in this error
When performing the request manually via curl (following current vkontakte.js current implementation), we receive an error:
curl -X POST 'https://oauth.vk.com/access_token' \ -d 'grant_type=client_credentials' \ -d 'client_id=0000000' \ -d 'client_secret=XXXXXXXXXXXXXXXXXXXX' \ -d 'v=5.124'
{"error":"invalid_grant","error_description":"Access denied"}
Actual Outcome
See above stack trace and error
Server
Database
Client
Logs
{"code":101,"level":"error","message":"Parse error: Vk appIds or appSecret is incorrect.","stack":"Error: Vk appIds or appSecret is incorrect.\n at /app/node_modules/parse-server/lib/Adapters/Auth/vkontakte.js:20:11\n at runMicrotasks ()\n at processTicksAndRejections (node:internal/process/task_queues:96:5)\n at async Promise.all (index 0)"}