Flutter plugin for authorization with Yandex LoginSDK for iOS and Android

Getting Started

For first you need to register Yandex OAuth application, see official docs


Add to your android/app/build.gradle default section this with replacement of yourClientId to Yandex OAuth app client id:

manifestPlaceholders = [YANDEX_CLIENT_ID:"yourClientId"]

It must looks like this:

defaultConfig {
    applicationId "com.example.flutter_login_yandex_example"
    minSdkVersion flutter.minSdkVersion
    targetSdkVersion flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    manifestPlaceholders = [YANDEX_CLIENT_ID:"yourClientId"]


Add this to your app Info.plist and replace "yourCientId" with Yandex client id from OAuth application


Add this to AppDelegate.swift:

    @available(iOS 8.0, *)
    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
       return true

    // Application delegate
    override public func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return YXLSdk.shared.handleOpen(url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String)

If you already have OpenURL handler, you need to merge this method with your code

Also you need to set up Entitlements, add Capability: Associated Domains and enter domain with replaced yourClientId to your value:


If you have some deprecation errors in compile time inside YandexLoginSDK, then you can use @MariyanskiDev fix. To do it, add to your Podfile target:

pod 'YandexLoginSDK', :git => 'https://github.com/MariyanskiDev/yandex-login-sdk-ios', :branch => 'depreciation_fix'

Usage in application


final flutterLoginYandexPlugin = FlutterLoginYandex();
final response = await _flutterLoginYandexPlugin.signIn();
saveToken(response['token'] as String);