Разработка авторизации через Яндекс ID
Яндекс ID — стандартный OAuth2 провайдер с нативным SDK для мобильных платформ. Востребован в приложениях, нацеленных на российскую аудиторию, особенно если приложение интегрируется с другими сервисами Яндекса (Карты, Метрика, Маркет). Технически — классический OIDC с минимумом особенностей.
Интеграция
Яндекс предоставляет YandexLoginSDK для iOS (доступен через SPM и CocoaPods) и Android (Gradle). В личном кабинете разработчика на oauth.yandex.ru создаём приложение, указываем redirect URI, получаем client_id.
На iOS добавляем URL Scheme yx{client_id} в Info.plist. SDK открывает авторизацию в SFSafariViewController (не покидает приложение, как при Custom Tabs на Android) — Яндекс не использует нативный app-to-app flow в отличие от VK.
// iOS
YandexLoginSDK.shared.set(clientID: "YOUR_CLIENT_ID")
// Запуск авторизации
try YandexLoginSDK.shared.authorize(
with: self, // UIViewController
customValues: nil
)
// В AppDelegate/SceneDelegate — обработка redirect
func application(_ app: UIApplication, open url: URL, options: [...]) -> Bool {
return YandexLoginSDK.shared.handleOpen(url, sourceApplication: options[...])
}
После авторизации получаем token (OAuth2 access token). Для получения данных пользователя — запрос к login.yandex.ru/info?format=json с заголовком Authorization: OAuth {token}. Ответ содержит id, login, default_email, real_name, default_avatar_id.
Аватар пользователя: https://avatars.yandex.net/get-yapic/{default_avatar_id}/islands-200 — стандартный URL для получения фото нужного размера.
Серверная верификация токена: GET https://login.yandex.ru/info?oauth_token={token} — если токен валиден, возвращает данные пользователя. Это и есть верификация: невалидный токен вернёт 401.
Яндекс ID поддерживает refresh токены — при правильной настройке scope=login:info login:email login:avatar и параметре force_confirm=false SDK управляет refresh автоматически.
Сроки: 3-6 рабочих дней. Стандартная интеграция без нестандартных требований.







