flutter_login_yandex 0.0.4 copy "flutter_login_yandex: ^0.0.4" to clipboard
flutter_login_yandex: ^0.0.4 copied to clipboard

Flutter plugin for authorization with Yandex LoginSDK for iOS and Android

flutter_login_yandex #

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

Android #

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"]
}

iOS #

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

	<key>LSApplicationQueriesSchemes</key>
	<array>
		<string>yandexauth</string>
		<string>yandexauth2</string>
		<string>yandexauth4</string>
	</array>
	<key>YAClientId</key>
	<string>yourClientId</string>
	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleURLName</key>
			<string>YandexLoginSDK</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>yxyourClientId</string>
			</array>
		</dict>
	</array>

Add this to AppDelegate.swift:

    @available(iOS 8.0, *)
    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
       YXLSdk.shared.processUserActivity(userActivity)
       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:

applinks:yxyourClientId.oauth.yandex.ru

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 #

Simply:

final flutterLoginYandexPlugin = FlutterLoginYandex();
final response = await _flutterLoginYandexPlugin.signIn();
saveToken(response['token'] as String);
3
likes
130
pub points
70%
popularity

Publisher

unverified uploader

Flutter plugin for authorization with Yandex LoginSDK for iOS and Android

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on flutter_login_yandex