Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

api.secure.checkToken - User authorization failed: you should pass client_secret param to use secure methods #119

Closed
Andrej730 opened this issue Oct 16, 2019 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@Andrej730
Copy link

Столкнулся со следующей проблемой при использовании метода api.secure.checkToken.
Данный метод принимает два аргумента token (access_token пользователя) и access_token (service token - токен приложения, он же Сервисный ключ доступа).
Проблема возникает в случае если сессия была инициирована следующим образом, а затем использован api.secure.checkToken:

session = vk.Session(access_token=access_token)
api` = vk.API(session, v=version, lang='ru', timeout=10)
r = api.secure.checkToken(token=access_token, access_token=service_token)

В процессе запуска метода checkToken значение аргумента access_token подменяется на access_token пользователя, который задан при создании сессии. Тогда как именно для этого метода требуется, чтобы access_token пользователя соответствовал аргументу token, а аргументу access_token соответствовал сервисный токен.

Решение, которое применяю в коде сейчас - изначально создаю пустую сессию, использую secure.checkToken и тогда присваиваю сессии access_token:

session = vk.Session()
api` = vk.API(session, v=version, lang='ru', timeout=10)
r = api.secure.checkToken(token=access_token, access_token=service_token)
session.access_token = access_token

Может быть это можно решить как-то на уровне библиотеки? Знаете ли вы другие такие контринтуитивные методы, у которых либо access_token должен быть подан в другой аргумент, либо в аргумент access_token подаётся другое значение вместо access_token?

@YariKartoshe4ka
Copy link
Collaborator

Исправлено, теперь access_token, передаваемый в методе, имеет больший приоритет, чем токен, созданный в сессии

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants