diff --git a/example/ios/Podfile b/example/ios/Podfile
index 6e6e4dad..bf82efb7 100644
--- a/example/ios/Podfile
+++ b/example/ios/Podfile
@@ -1,6 +1,6 @@
source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
-platform :ios, '13.0'
+platform :ios, '15.0'
plugin 'cocoapods-art', :sources => [
'onegini'
diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist
index d2b45d41..d865a04a 100644
--- a/example/ios/Runner/Info.plist
+++ b/example/ios/Runner/Info.plist
@@ -2,6 +2,8 @@
+ CADisableMinimumFrameDurationOnPhone
+
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
CFBundleExecutable
@@ -41,10 +43,12 @@
NSCameraUsageDescription
Need to access your camera to scan QR code
- NSLocalNetworkUsageDescription
- Set to your desired customized permission dialog text.
NSFaceIDUsageDescription
Please provide access to your Face ID
+ NSLocalNetworkUsageDescription
+ Set to your desired customized permission dialog text.
+ UIApplicationSupportsIndirectInputEvents
+
UILaunchStoryboardName
LaunchScreen
UIMainStoryboardFile
@@ -64,9 +68,5 @@
io.flutter.embedded_views_preview
- CADisableMinimumFrameDurationOnPhone
-
- UIApplicationSupportsIndirectInputEvents
-
diff --git a/example/lib/screens/user_screen.dart b/example/lib/screens/user_screen.dart
index 91232dd9..e6765ee0 100644
--- a/example/lib/screens/user_screen.dart
+++ b/example/lib/screens/user_screen.dart
@@ -435,8 +435,7 @@ class Info extends StatefulWidget {
class _InfoState extends State {
Future _getApplicationDetails() async {
- await Onegini.instance.userClient
- .authenticateDevice(["read", "write", "application-details"]);
+ await Onegini.instance.userClient.authenticateDevice(["application-details"]);
final response = await Onegini.instance.resourcesMethods.requestResource(
ResourceRequestType.anonymous,
RequestDetails(
diff --git a/ios/Classes/NativeBridge/Handlers/BrowserHandler.swift b/ios/Classes/NativeBridge/Handlers/BrowserHandler.swift
index 624d2152..043513ec 100644
--- a/ios/Classes/NativeBridge/Handlers/BrowserHandler.swift
+++ b/ios/Classes/NativeBridge/Handlers/BrowserHandler.swift
@@ -44,7 +44,7 @@ class BrowserViewController: NSObject, BrowserHandlerProtocol {
}
private func openInternalBrowser(url: URL) {
- let scheme = URL(string: ONGClient.sharedInstance().configModel.redirectURL)!.scheme
+ let scheme = URL(string: SharedClient.instance.configModel.redirectURL)!.scheme
webAuthSession = ASWebAuthenticationSession(url: url, callbackURLScheme: scheme, completionHandler: { callbackURL, error in
Logger.log("webAuthSession completionHandler", sender: self)
guard error == nil, let successURL = callbackURL else {
diff --git a/ios/Classes/NativeBridge/Handlers/ResourcesHandler.swift b/ios/Classes/NativeBridge/Handlers/ResourcesHandler.swift
index d45cfcd5..5fea503e 100644
--- a/ios/Classes/NativeBridge/Handlers/ResourcesHandler.swift
+++ b/ios/Classes/NativeBridge/Handlers/ResourcesHandler.swift
@@ -39,7 +39,7 @@ class ResourcesHandler: FetchResourcesHandlerProtocol {
func requestResource(_ requestType: ResourceRequestType, _ details: OWRequestDetails, completion: @escaping (Result) -> Void) {
Logger.log("requestResource", sender: self)
// Additional check for valid url
- let resourceUrl = ONGClient.sharedInstance().configModel.resourceBaseURL ?? ""
+ let resourceUrl = SharedClient.instance.configModel.resourceBaseURL
if isValidUrl(details.path) == false && isValidUrl(resourceUrl + details.path) == false {
completion(.failure(FlutterError(SdkError(.invalidUrl))))
return
diff --git a/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Auth.swift b/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Auth.swift
index 512fff47..84387b47 100644
--- a/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Auth.swift
+++ b/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Auth.swift
@@ -5,8 +5,8 @@ import Flutter
extension OneginiModuleSwift {
func getIdentityProviders() -> Result<[OWIdentityProvider], FlutterError> {
- let providers = ONGClient.sharedInstance().userClient.identityProviders()
- return .success(providers.compactMap { OWIdentityProvider($0) })
+ let providers = SharedClient.instance.userClient.identityProviders
+ return .success(providers.compactMap { OWIdentityProvider(id: $0.identifier, name: $0.name) })
}
func logOut(callback: @escaping (Result) -> Void) {
@@ -86,14 +86,14 @@ extension OneginiModuleSwift {
}
func getAuthenticatedUserProfile() -> Result {
- guard let profile = ONGUserClient.sharedInstance().authenticatedUserProfile() else {
+ guard let profile = SharedUserClient.instance.authenticatedUserProfile else {
return .failure(FlutterError(.notAuthenticatedUser))
}
return .success(OWUserProfile(profile))
}
func getAccessToken() -> Result {
- guard let accessToken = ONGUserClient.sharedInstance().accessToken else {
+ guard let accessToken = SharedUserClient.instance.accessToken else {
return .failure(FlutterError(.notAuthenticatedUser))
}
return .success(accessToken)
diff --git a/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Pin.swift b/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Pin.swift
index 2829a8dd..19d04c0b 100644
--- a/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Pin.swift
+++ b/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Pin.swift
@@ -26,7 +26,8 @@ extension OneginiModuleSwift {
func validatePinWithPolicy(_ pin: String, completion: @escaping (Result) -> Void) {
// FIXME: Move this out of this file
- ONGUserClient.sharedInstance().validatePin(withPolicy: pin) { (_, error) in
+ let userClient = SharedUserClient.instance
+ userClient.validatePolicyCompliance(for: pin) { error in
guard let error = error else {
completion(.success)
return
diff --git a/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Register.swift b/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Register.swift
index ddadca8d..b6af448e 100644
--- a/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Register.swift
+++ b/ios/Classes/NativeBridge/ModuleExtensions/OneginiModuleSwift+Register.swift
@@ -21,7 +21,7 @@ extension OneginiModuleSwift {
}
public func handleDeepLinkCallbackUrl(_ url: URL) -> Bool {
- guard let schemeLibrary = URL.init(string: ONGClient.sharedInstance().configModel.redirectURL)?.scheme else {
+ guard let schemeLibrary = URL.init(string: SharedClient.instance.configModel.redirectURL)?.scheme else {
// FIXME: We should propagate an error here to the caller, not through events.
return false
}
@@ -50,6 +50,6 @@ extension OneginiModuleSwift {
}
func getRedirectUrl() -> Result {
- return .success(ONGClient.sharedInstance().configModel.redirectURL)
+ return .success(SharedClient.instance.configModel.redirectURL)
}
}
diff --git a/ios/Classes/NativeBridge/OneginiModuleSwift.swift b/ios/Classes/NativeBridge/OneginiModuleSwift.swift
index c1afcc0b..8e49f0ae 100644
--- a/ios/Classes/NativeBridge/OneginiModuleSwift.swift
+++ b/ios/Classes/NativeBridge/OneginiModuleSwift.swift
@@ -18,26 +18,23 @@ public class OneginiModuleSwift: NSObject {
}
func startOneginiModule(httpConnectionTimeout: Int64?, additionalResourceUrls: [String]?, callback: @escaping (Result) -> Void) {
- ONGClientBuilder().setHttpRequestTimeout(TimeInterval(Double(httpConnectionTimeout ?? 5)))
- ONGClientBuilder().setAdditionalResourceUrls(additionalResourceUrls ?? [])
- ONGClientBuilder().build()
- ONGClient.sharedInstance().start { result, error in
- if let error = error {
- let mappedError = ErrorMapper().mapError(error)
- callback(.failure(mappedError.flutterError()))
- return
+ let builder = ClientBuilder()
+ builder.setHttpRequestTimeout(TimeInterval(Double(httpConnectionTimeout ?? 5)))
+ builder.setAdditionalResourceUrls(additionalResourceUrls ?? [])
+ builder.buildAndWaitForProtectedData { client in
+ client.start { error in
+ if let error {
+ let mappedError = ErrorMapper().mapError(error)
+ callback(.failure(mappedError.flutterError()))
+ return
+ }
+ callback(.success)
}
-
- if !result {
- callback(.failure(SdkError(.genericError).flutterError()))
- return
- }
- callback(.success)
}
}
func getUserProfiles() -> Result<[OWUserProfile], FlutterError> {
- let profiles = ONGUserClient.sharedInstance().userProfiles()
+ let profiles = SharedUserClient.instance.userProfiles
return .success(profiles.compactMap { OWUserProfile($0) })
}
}