Получал до этого токены для себя обычные через Implicit Flow (blank.html) и там вроде каждый раз генерится новый ключ, а старый ясен красен не валидный. Вроде логично всё Но сейчас пишу приложение паблик и получаю токен серверной авторизацией. Права запрашивает только раз, но при каждой следующей авторизации выдает новый токен, а старые остаются ВАЛИДНЫМИ. Разве это правильно? Нахер тогда они вообще выдают новый токен? И еще вопрос в догонку, неужели нет в приложении способов сбросить все выданные токены, если они скомпрометированы, например, в случае слива базы?
Можно получить один токен раз и навсегда. Читаем доки про авторизацию и про права https://vk.com/dev/permissions, при авторизации нужно получить права offline. P.S. Приложение должно быть standalone --- Добавлено --- Думаю есть какой нибудь метод типо logout. Я бы просто удалил приложение и не парился))) --- Добавлено --- В настройках можно поменять ключ приложения
Ты не понимаешь, попробуй запилить серверную авторизацию через вк и поймешь. Ключ и так выдается навсегда. в том и дело что логаута нет никакого. сброс ключа токены не сбрасывает. Удалять глупо, тем более если у приложения есть доступ к стене.
Я бы тебе не отвечал, если бы не чего не пилил))) Не совсем В случае слива базы, это самый простой вариант сброса. Напиши в поддержку вк, они тебе помогут
Значит не пилил раз так говоришь, я же не вру. Ключ получаю НАВСЕГДА с правами offline. Каждый вход на сайт генерит новый ключ, старые валидные. Че споришь Поддежка вк отвечает 3-7 дней. В экстренном случае они точно не помощники
Ты на ссылку жмякни, там другая поддержка сидит --- Добавлено --- Ты тему в понедельник создал, уже бы ответили
Да все там одно. Я писал туда, в первый раз ответили на следующий день. Потом добавил вопрос, и еще 4 дня. Я вообще с ними около месяца переписывался. нет желания им писать больше. Нет сброса ключей ну и похyй, им же хуже )))
В баг трекере куча компетентных людей, я думаю там быстро ответят. Поддержка же это не всегда секретарши за компьютером.
Есть некоторые права которые априори устанавливают время жизни токена, возможно ты используешь одно из них и не можешь получить "вечный токен". Либо просто напиши сценарий на получение нового токена если старый отвалился.
Ни то ни другое не объясняет почему старые ключи остаются валидными. Про какие-то такие мифические права я вообще не знаю. В документации по-русски написано. Если запрашиваешь права offline - токен бессрочный! Что за сценарий на получение нового токена и как его реализовать без пользователей, мне не ведомо, видать это тоже магия не описанная в доках. Если описана, просьба ткнуть ссылку
При получении токена возвращается не только токен, а ещё время его жизни "expires_in" Код (PHP): if ($expires_in >= time()) { // Получаем новый токен } else { // Всё гуд, токен рабочий } Ссылку к сожалению не могу найти, это где то было описано в разделе про авторизацию. При правах offline время жизни токена равно нулю. --- Добавлено --- Не надо каждый раз получать новый токен, получил один раз и всё. --- Добавлено --- Всё же нашёл ссылку https://vk.com/dev/first_guide?f=3. Авторизация пользователя
Чем больше ты пишешь, тем больше я укрепляюсь в мысли, что лично сам ты ничего не реализовывал 1. Причем тут вообще время жизни токена? У меня они работают ВСЕ. 2. Реализуй авторизацию на своем сайте через вк, посмотрим, как ты будешь получать его 1 раз. Ты токены походу только из адресной строки дергал через Implict Flow Как ты можешь определить время жизни токена, до того момента как он авторизовался у тебя? А когда он авторизовался токен уже поменялся. Ну и конечно же при оффлайн правах, вызвращается НОЛЬ БЛЯTЬ время жизни ))) Если я где-то ошибаюсь, то вперед, я готов к позору признаний своей некомпетентности ))
@Познающий php Зачем ты получаешь новый токен если у тебя оффлайн права? Не надо получать новый токен! Ты мысль немного не понял, если не получать оффлайн права то токены со временем будут отваливатся. --- Добавлено --- 1. Получил токен если его нет 2. Забил в бд 3. Дёргаешь токен из бд
@Васяня как ты можешь узнать есть токен или нет, если пользователь еще не авторизован? Когда авторизуешь автоматом получаешь новый токен. Говорю тебе ты не пилил серверную авторизацию через вк. Почитай https://vk.com/dev/authcode_flow_user @villiwalla ничего нового там не увидел. Вопрос темы изначально был почему при получении нового токена старые остаются валидными. Есть ответ? Нет? Ну и все. Все вода в теме про время жизни ключа это просто демагогия, которую развели не ясно зачем.
Проверяю есть ли в бд запись токена, если нету значит юзер не получил токен, если есть токен то значит юзер получил токен. Не надо получать новый токен если он уже есть. А может я писал, только не могу и не хочу показывать? К примеру приложение которое противоречит правилам вк, а ещё оно для одного человека где авторизация по жестко закреплённому паролю в конфиге. Я уже сказал, не надо получать новые токены! Оно тебе не нужно, используй токены которые есть, получай только в том случае если нет токена
ДА ЁБАНЫЙ РОТ ТЫ НИКАК НЕ УЗНАЕШЬ ЧТО ЭТО ЗА ПОЛЬЗОВАТЕЛЬ ПОКА ОН НЕ АВТОРИЗУЕТСЯ И НЕ МОЖЕШЬ ПРОВЕРИТЬ ЕСТЬ У НЕГО УЖЕ ТОКЕН ИЛИ НЕТ. А ПРИ АВТОРИЗАЦИИ НОВЫЙ ТОКЕН ДАЕТСЯ. ТАМ НЕТ БЛЯTЬ ВХОДА ПО ПОЧТЕ И ПАРОЛЮ. ТОЛЬКО ПО ВК. ПОНИМАЕШЬ ТЫ ИЛИ НЕТ Я просто считаю, что это не правильно, что они остаются валидными. При том, что нет возможности сбросить токены пользователей из приложения. Так то поxуй, оно все работает и збс. Просто задаюсь вопросами безопасности.
Это фича такая ЕБАТЬ Я ТОЖЕ УМЕЮ КАПСАМ ПИСАТЬ, МОЖЕТ ЕЩЁ НА ЛИЧНОСТИ ПЕРЕЙДЁМ? Через метод users.get получаешь грёбаное id пользователя и запросом select ... where id=id в твоей базе mysql проверяешь есть ли токен
@villiwalla ну я их все прям не храню, только последний, но для эксперимента я авторизовывался 4 раза с левого акка и все 4 ключа фурычили после всех авторизаций. --- Добавлено --- Ты бесишь меня просто, откуда у меня нафиг айди пользователя, если он еще не авторизовался? айди приходит вместе с токеном, заебал ты {"access_token":"533bacf01e11f55b536a565b57531ac114461ae8736d6506a3", "expires_in":0 '''user_id":66748} Я тебе блин пишу, что не работает так как ты говоришь, а ты все одно толдычишь нафиг в этой теме.
Грёбаный вк его даёт с грёбаным сервисным ключом при отправке ajax запроса на ссылку https://api.vk.com/method/users.get --- Добавлено --- Вася не тупи, читай доки --- Добавлено --- Тех поддержка тебе ещё поможет
Вот картинка, id своего приложения я конечно замазал, мой id можешь позырить)) То место где я получил id я выделил Когда я делал getLoginStatus не какой авторизации не происходит, окошки не какие не открываются, я просто проверяю авторизован ли пользователь --- Добавлено --- P.S. Я даже сервисный ключ не юзал P.S.S. Не какой ключ не юзал --- Добавлено --- И да если ввести id в строку браузера то открывается нужная страница Я наверное просто бог вконтакта, раз я могу проверить авторизован ли пользователь не проходя авторизации)))
Думаю, что ты прав, а я нет. Это Open API насколько я понимаю. Но выражать свои мысли ты не умеешь ясно и доходчиво. Сразу бы сказал, как ты предлагаешь проверять пользователей, а не общие фразы типа сверяй айди. Я не особо знаю эту секцию доков, по той причине, что до изучения js еще не дошел и курю только Php в основном и с vk api работаю с сервера чисто
Это да... Тут вариантов куча если честно, мне просто было этот проще всего запустить --- Добавлено --- Можно попробовать на тот url что в скрине запрос с сервера отправить и посмотреть что будет --- Добавлено --- В общем удачи тебе