nevis_mobile_authentication_sdk 4.6.0
nevis_mobile_authentication_sdk: ^4.6.0 copied to clipboard
Flutter plugin for the nevis_mobile_authentication_sdk. Supports only mobile.
Nevis Mobile Authentication SDK Flutter Plugin #
The Nevis Mobile Authentication SDK for Flutter is a plugin which is part of the Nevis Mobile Authentication solution which enables secure, seamless and passwordless authentication by letting users verify their account using their mobile device.
The framework enables applications to leverage FIDO UAF 1.1 authentication capabilities as implemented in the Nevis Identity Suite, Authentication Cloud or Identity Cloud backend. The SDK can be embedded in Flutter applications to provide an implementation of mobile authentication scenarios such as registration, web- and out-of-app authentication, in-app authentication, transaction confirmation and deregistration.
For more details please consult our Documentation Portal.
Getting Started #
Requirements #
Your development setup has to meet the following prerequisites:
- iOS 14 or later
- Xcode 26.2, including Swift 6 or later
- Android 7 or later, with API level 24 -or-
- Android 10 or later, with API level 29, for the biometric authenticator to work
- Android 11 or later, with API level 30, for the device passcode authenticator to work
- Gradle 8.13 or later
- Android Gradle Plugin
com.android.tools.build:gradle8.11.1 or later - Kotlin Gradle Plugin
org.jetbrains.kotlin:kotlin-gradle-plugin2.1.0 or later - Flutter 3.29.0 or later (Dart SDK 3.7.0 or later)
- OpenJDK 17 or later
Installation #
Below are some platform specifics that are required for the nevis_mobile_authentication_sdk to work correctly.
Flutter
Dependency Configuration
Add the following line to your package's pubspec.yaml (and run an implicit flutter pub get):
dependencies:
nevis_mobile_authentication_sdk: '>=4.6.0 <4.7.0'
Android
Gradle Configuration
Add the following properties to your android/gradle.properties file depending on the Android Gradle Plugin (AGP) version you use:
android.useAndroidX=true
android.useFullClasspathForDexingTransform=true
shrink=false
Repository Configuration
The Nevis Mobile Authentication Client SDK for Android is published as a GitHub package. You have to specify the repository in your android/build.gradle file:
allprojects {
repositories {
google ()
mavenCentral ()
maven {
url "https://maven.pkg.github.com/nevissecurity/nevis-mobile-authentication-sdk-android-package"
credentials {
username = <GH_USERNAME>
password = <GH_PERSONAL_ACCESS_TOKEN>
}
}
}
}
Warning
Accessing GitHub packages requires you to have a GitHub account. You must provide a Personal Access Token, as described here.
Dependency Configuration
Declare Nevis Mobile Authentication Client SDK as a dependency in your android/app/build.gradle file:
dependencies {
//noinspection GradleDynamicVersion
debugImplementation 'ch.nevis:nevis-mobile-authentication-sdk-android-debug:4.5.+'
}
Warning
The package repository only exposes thedebugflavor. To use thereleaseflavor contact us on sales@nevis.net.
iOS
Dependency Configuration
CocoaPods
To integrate Nevis Mobile Authentication Client SDK into your Flutter application using CocoaPods, specify it in your Podfile:
pod 'NevisMobileAuthentication', '~> 4.5.0', :configurations => ['Release']
pod 'NevisMobileAuthentication-Debug', '~> 4.5.0', :configurations => ['Debug']
As the native iOS SDK does not provide Bitcode support, the following post install step needs to be added to the Podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO' # NMA SDK does not support Bitcode
end
end
end
Swift Package Manager
The Swift Package Manager repository of Nevis Mobile Authentication SDK for iOS exposes two targets corresponding to the available SDK flavors:
NevisMobileAuthentication- Release flavor: all protection mechanisms enabled, runs only on physical devices (simulator not supported)NevisMobileAuthentication-Debug- Debug flavor: only a subset of the protection mechanisms are available, logging enabled, runs on both devices and simulators
Because of this, the plugin's Package.swift declares the native SDK as a package dependency but does not link any of its products to the plugin target. After installing the Flutter plugin, you need to manually add the native SDK to your iOS workspace using the SPM repository URL and link the desired flavor to your app target. Refer to the official Apple documentation for instructions on adding Swift package dependencies to your app.
Note
Swift Package Manager does not support configuration based linkage out of the box. Only one target can be linked at a time. If you want to use both the release and debug flavors of the SDK, duplicate your runnable target and link the release version of the SDK to one and the debug version to the other.
Enable Face Recognition
Modify your application's Info.plist file (located under ios/Runner) to add a description for the NSFaceIDUsageDescription key in order to use the Face Recognition authenticator. Ideally, this value should be localized.
<key>NSFaceIDUsageDescription</key>
<string>Enabling Face ID allows you to use the Face Recognition authenticator.</string>
License #
Nevis Mobile Authentication SDK Flutter Plugin is release under a commercial license. See LICENSE for details.
© 2022 made with ❤ by Nevis