Flutter Plugin release notes
This section contains releases notes for the Flutter Plugin. In the release notes we mention new features and bug fixes.
3.1.2
Improvements
- [iOS] Replaced deprecated methods on ClientBuilder and deprecated ONGClient with SharedClient.
3.1.1
Improvements
- [iOS] Wrapper SDK now uses the latest iOS native SDK 12.3.6
3.1.0
Improvements
- [Android] Wrapper SDK now uses the latest Android Native SDK 12.0.0
- [iOS] Wrapper SDK now uses the latest iOS native SDK 12.3.4
- [iOS & Android] Support for stateless registration feature
- Added
registerStatelessUser
method.
- Added
Note
With this update new fields were added to the config model class. You should update your SDK Configurator to version 5.3.0 or later.
3.0.3
Bugfixes
- [iOS] Fixed a bug where
ClosePinAuthenticationEvent
wouldn't be emitted, when user cancelled biometric authenticator registration.
3.0.2
Bugfixes
- [iOS] Fix a crash on iOS on failing resource requests.
3.0.1
Bugfixes
- Changed access modifier of a native api in order to hide it from the SDK user.
3.0.0
Improvements
-
General Documentation Improvements
- Added specific documentation for the call back functions which can be found in Callbacks
- Extended the documentation regarding certain user flows such as registration, authentication, OTP, and changePin
-
Increase iOS SDK version to 12.2.2
- Events are now propagated using streams.
- Previously events were thrown using the
OneginiEventListener
Class where a user would overwrite functions to handle events. This approach has been reworked to use aStreamController
which can be listened to. EachListener
will now have the ability to respond to aOWEvent
using the globalowEventStreamController
. startApplication
does no longer requires aOneginiListener
parameter.-
We removed the following deprecated events:
eventOther
openPinAuthenticator
eventError
-
We have renamed the following events to better represent the event occurrence:
- changed
openPinRequestScreen
intoOpenPinCreationEvent
- changed
closePin
intoClosePinCreationEvent
- changed
openPinScreenAuth
intoopenPinAuthenticationEvent
- changed
closePinAuth
intoclosePinAuthenticationEvent
- changed
openFingerprintScreen
intoopenFingerprintEvent
- changed
closeFingerprintScreen
intocloseFingerprintEvent
- changed
eventInitCustomRegistration
intoinitCustomRegistrationEvent
- changed
eventFinishCustomRegistration
intofinishCustomRegistrationEvent
- changed
ReceivedFingerprintEvent
intoNextFingerprintAuthenticationAttempt
- changed
NextAuthenticationAttemptEvent
intoNextPinAuthenticationAttemptEvent
- changed
eventError
into several more specific events:PinNotAllowedEvent
- changed
-
Reworked functions that required
BuildContext
. Now all functions are independent of this context and therefore will not require this parameter anymore. Reworked functions:handleRegisteredUserUrl
getIdentityProviders
authenticateUser
changePin
setPreferredAuthenticator
- Fingerprints's
acceptAuthenticationRequest
- OTP's
acceptAuthenticationRequest
- Pin Authentication's
acceptAuthenticationRequest
- Pin Registration's
acceptAuthenticationRequest
-
Allow Absolute Paths for resource requests:
- Now it is possible to perform resource requests using multiple resource base urls besides the one that is defined within the tokenserver config file. This is possible as long as a valid certificate is included in the config for certificate pinning. Instructions on how to enable this can be found here.
-
Functions Rework: We reworked many functions and replaced their return values and required params
-
Introduced New Custom Objects
OWUserProfile
OWCustomInfo
OWIdentityProvider
OWAuthenticator
- Contains more information compared to the previous Authenticator objectOWAppToWebSingleSignOn
OWRegistrationResponse
OWAuthenticationAttempt
ResourceRequests
-
These functions now return or use the previously described objects:
registerUser
authenticateUser
getIdentityProviders
getAuthenticatedUserProfile
getAppToWebSingleSignOn
getUserProfiles
-
Updated functions to only resolve instead of returning an unneeded value:
setPreferredAuthenticator
now only resolves instead of returning booleanderegisterBiometricAuthenticator
now only resolves instead of returning booleanlogout
now only resolves instead of returning booleanauthenticateDevice
now only resolves instead of returning booleanvalidatePinWithPolicy
now only resolves instead of returning booleanauthenticateUserImplicitly
now only resolves instead of returning stringderegisterUser
now only resolves instead of returning boolean- removed
isDefault
from theuserProfile
object, which is replaced forOWUserProfile
.
-
Updated parameters
handleRegisteredUserUrl
now takes a non-nullable string for the url- Custom registration's
submitSuccessAction
now does not require an Identity-provider ID - Custom registration's
submitErrorAction
now does not require an Identity-provider ID
-
Updated Errors
getAppToWebSingleSignOn
now returns actual underlying error code instead of generic error- iOS + Android:
registerAuthenticator
will now give native errors instead of wrongly returning authenticatorNotFound when the authenticator is already registered. OneginiPinRegistrationCallback.acceptAuthenticationRequest
has been reworked and does not take a map anymore as a second argument but just a pin which is a String, the optionalisCustomAuthenticator
has been removed
-
Reworked Resource requests - Renamed functions to better reflect functionality
getUnauthenticatedResource
torequestResourceUnauthenticated
getResourceAnonymous
torequestResourceAnonymous
getResource
torequestResourceAuthenticated
getResourceImplicit
torequestResourceImplicit
- Added generic function named
requestResource
-
Reworked error codes.
-
Reworked
mobileAuthWithOtp
.- Users are now forced to "enroll" for mobile authentication before they can use OTP. Previously, this was done automatically through the SDK when trying to authenticate with OTP. The functionality to enroll is described in
enrollMobileAuthentication
. - For consistency reasons we renamed
mobileAuthWithOtp
tohandleMobileAuthWithOtp
handleMobileAuthWithOtp
now only resolves successfully with void instead ofString
, seehandleMobileAuthWithOtp
.- [bugfix] correctly throw an error when starting a second otp mobile authentication flow
- [bugfix] throw error on iOS when user is not authenticated
- Users are now forced to "enroll" for mobile authentication before they can use OTP. Previously, this was done automatically through the SDK when trying to authenticate with OTP. The functionality to enroll is described in
-
Reworked several authentication/authenticator methods
- Removed:
getRegisteredAuthenticators
getAllAuthenticators
registerAuthenticator
- Added:
deregisterBiometricAuthenticator
registerBiometricAuthenticator
getBiometricAuthenticator
getPreferredAuthenticator
- Changed: (now using
OWAuthenticatorType
)setPreferredAuthenticator
authenticateUser
- Removed:
2.0.1
- Non functional changes.
2.0.0
Improvement
- [Android] Wrapper SDK now uses the latest Android Native SDK 11.9.0
- [iOS] Wrapper SDK now uses the latest iOS native SDK 12.1.0
- [iOS & Android] The Error Structure has been reworked and extended, the updated documentation containing the details can be found in the chapter Error handling. This rework introduces:
- More consistency between iOS and Android errors using our Flutter Plugin.
- More specific error codes to give more details on what the error caused.
- Consistent usage of the details property of
PlatformExceptions
containing an overview and potentially additional information regarding the error. - Change of error codes
- [iOS & Android] Full support for Registration with Custom IdP.
- [iOS & Android] Renamed
fetchUserProfiles
togetUserProfiles
to better reflect the functionality from the function. - [iOS & Android] Support for multiple registered users on one device.
- [iOS & Android] Reworked
deregisterUser
function and updated the documentation. - [iOS & Android] Added
getAccessToken
getAuthenticatedUserProfile and getRedirectUrl methods.
BugFix
- [iOS] deregisterUser now successfully deregisters the profile based on the given Id instead of the first registered user on the device.
- [iOS] authenticateUser will now properly return an error when an unregistered or unknown authenticatorId is given instead of starting pin authentication.
1.2.0 Jan 18, 2023
- Updated the Android SDK version version to 11.8.1. See the release notes and upgrade notes for more information.
- [Breaking] Bump the compile- and target-SDK of the plugin to version 32 as a consequence of the new Android SDK version.
1.1.1, Oct 12, 2022
- Created a new
WrapperError
which is thrown as aplatformException
when the native SDK returns a value that the wrapper did not expect which would previously cause atypeError
. - Updated
registerAuthenticator
to returnFuture<void>
instead ofFuture<String>
. - Fixed a bug where
handleRegisteredProcessUrl
would never resolve. - Updated
getResourceAnonymous
,getResource
,getResourceImplicit
,getUnauthenticatedResource
, to return a -Future<String?>
instead ofFuture<String>
.
1.1.0, April 20, 2022
- Updated the iOS SDK to version 11.0.2. This is a major change in case of tampering protection mechanism.
- The
BuildContext?
context param inauthenticateUser
method is now nullable. - The
BuildContext?
context param inacceptAuthenticationRequest
method is now nullable.
1.0.8, March 11, 2022
- Updated the Android SDK to version 11.7.0.
1.0.7, March 3, 2022
- Fixed
authenticateDevice
method for iOS - please make sure authenticate device method is called before fetching anonymous resources.
1.0.6, February 7, 2022
- Updated Android SDK to version 11.6.1
1.0.5, December 3, 2021
- Fixed object type of result authenticateUser method.
1.0.4, November 19, 2021
- Fixes and improvements.
1.0.3, October 21, 2021
- Bump Android SDK to 11.4.0.
- Modified
buildContext
to be nullable in all API calls.
1.0.2, August 4, 2021
- Updated OneginiSDK to version 11.3.0 (android platform).
1.0.1, June 9, 2021
- Resolved an obfuscation issue (android platform).
1.0.0, June 8, 2021
- Release version.
1.0.0-dev.2, June 7, 2021
- Added a required param
profileId
to thederegisterUser
method
1.0.0-dev.1, May 13, 2021
- The OneWelcome Flutter plugin is a plugin that allows you to utilize the Onegini Mobile SDKs in your Flutter applications.