Розробка авторизації через Яндекс 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 робочих днів. Стандартна інтеграція без нестандартних вимог.







