У меня уже есть кнопки авторизации через Одноклассники и Mail.ru. Как мне перейти на единый сервис авторизации и смигрировать все связки с действующими аккаунтами на новый сервис авторизации?
Если ранее ваш сервис авторизовывал пользователей через OAuth OK или Mail с применением запросов back-2-back, необходимо мигрировать действующие аккаунты на единый сервис авторизации — после этого вы сможете получать информацию об идентификаторе пользователя внешнего OAuth-сервиса.
Миграция представляет собой сопоставление аккаунтов пользователя OK или Mail.ru с аккаунтом VK ID (новым или существующим), который будет использоваться при новом способе входа через ОК и Mail.ru, и создание связки между этими аккаунтами. Этот процесс не моментальный и производится постепенно для каждой отдельной учетной записи пользователя при его авторизации в ваш сервис.
Чтобы мигрировать учетную запись пользователя:
Реализуйте процесс авторизации пользователя и получите Access token.
Вызовите метод API userLinking.b2bGet (https://api.vk.com/method/userLinking.b2bGet) , используя в запросе сервисный токен приложения Service token и полученный пользовательский токен доступа user_access_token.
Получите в ответе в параметре links идентификатор пользователя во внешнем OAuth-сервисе по этому Access token. Массив UserLinks содержит следующие атрибуты:
a. user_id — идентификатор пользователя VK ID, для которого выдан токен;
b. service_user_uuid — идентификатор пользователя во внешнем OAuth-сервисе;
c. service_name — информация о внешнем OAuth-cервисе, через который пользователь выполнил вход. Принимает значения mail_ru или ok_ru
Если для данного Access token отсутствует информация по внешнему пользователю, в ответе придет пустой список.
На основании полученных идентификационных данных пользователя выполните доработки своего сервиса и сопоставьте аккаунт пользователя OK или Mail.ru с аккаунтом VK ID.
Подробнее читайте в документации сервиса авторизации.