diff --git a/README.md b/README.md index 9f5bfdb..886c591 100644 --- a/README.md +++ b/README.md @@ -8,19 +8,16 @@ For general support or usage questions, use the [Auth0 Community](https://commun **Do not report security vulnerabilities on the public GitHub issue tracker.** The [Responsible Disclosure Program](https://auth0.com/responsible-disclosure-policy) details the procedure for disclosing security issues. -## What is Auth0? +--- -Auth0 helps you to: +

+ + + + Auth0 Logo + +

-- Add authentication with [multiple sources](https://auth0.com/docs/authenticate/identity-providers), either social identity providers such as **Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce** (amongst others), or enterprise identity systems like **Windows Azure AD, Google Apps, Active Directory, ADFS, or any SAML Identity Provider**. -- Add authentication through more traditional **[username/password databases](https://auth0.com/docs/authenticate/database-connections/custom-db)**. -- Add support for **[linking different user accounts](https://auth0.com/docs/manage-users/user-accounts/user-account-linking)** with the same user. -- Support for generating signed [JSON Web Tokens](https://auth0.com/docs/secure/tokens/json-web-tokens) to call your APIs and **flow the user identity** securely. -- Analytics of how, when, and where users are logging in. -- Pull data from other sources and add it to the user profile through [JavaScript Actions](https://auth0.com/docs/customize/actions). +

Auth0 is an easy-to-implement, adaptable authentication and authorization platform. To learn more check out Why Auth0?

-**Why Auth0?** Because you should save time, be happy, and focus on what really matters: building your product. - -## License - -This project is licensed under Apache License 2.0. See the [LICENSE](LICENSE) file for more information. +

This project is licensed under the MIT license. See the LICENSE file for more info.

diff --git a/sample/.env.example b/sample/.env.example index 6b105e8..e6052bf 100644 --- a/sample/.env.example +++ b/sample/.env.example @@ -8,10 +8,5 @@ AUTH0_DOMAIN={DOMAIN} AUTH0_CLIENT_ID={CLIENT_ID} # # The custom scheme for the Android callback and logout URLs. -# Only set a value if you prefer not to use the default scheme (https). -# If you set a value: -# 1. Update the Android callback and logout URLs in the -# settings page of your Auth0 application with the custom scheme value. -# 2. Update the scheme value in android/app/src/main/res/values/strings.xml # -# AUTH0_CUSTOM_SCHEME= \ No newline at end of file +AUTH0_CUSTOM_SCHEME=com.auth0.sample diff --git a/sample/README.md b/sample/README.md index a302dfb..99e5c69 100644 --- a/sample/README.md +++ b/sample/README.md @@ -8,30 +8,56 @@ This sample app demonstrates the integration of the Auth0 Flutter SDK into a Flu - Xcode 14.x / 15.x (for iOS/macOS) - Android Studio 4+ (for Android) -## Configure Auth0 Application +> [!NOTE] +> On iOS 17.4+ and macOS 14.4+ it is possible to use Universal Links as callback and logout URLs. auth0_flutter will fall back to using a custom URL scheme on older iOS / macOS versions. +> +> **This feature requires Xcode 15.3+ and a paid Apple Developer account**. +> +> If you do not have a paid Apple Developer account, skip **step 3** and set the `useHTTPS` parameter to `false` in the `login()` and `logout()` calls at `lib/example_app.dart`. + +> [!IMPORTANT] +> On every step, if you have a [custom domain](https://auth0.com/docs/customize/custom-domains), replace the `YOUR_AUTH0_DOMAIN` and `{DOMAIN}` placeholders with your custom domain instead of the value from the settings page. + +## 1. Configure the Auth0 Application ### 📱 Mobile/Desktop -Go to the settings page of your [Auth0 application](https://manage.auth0.com/#/applications/) and add the corresponding URL to **Allowed Callback URLs** and **Allowed Logout URLs**, according to the app target you want to run. If you are using a [custom domain](https://auth0.com/docs/customize/custom-domains), replace `YOUR_AUTH0_DOMAIN` with the value of your custom domain instead of the value from the settings page. +Go to the settings page of your [Auth0 application](https://manage.auth0.com/#/applications/) and add the following URLs to **Allowed Callback URLs** and **Allowed Logout URLs**, depending on the platform you want to use. -**Android** +#### Android ```text SCHEME://YOUR_AUTH0_DOMAIN/android/YOUR_PACKAGE_NAME/callback ``` -**iOS** +#### iOS ```text -YOUR_BUNDLE_ID://YOUR_AUTH0_DOMAIN/ios/YOUR_BUNDLE_ID/callback +https://YOUR_AUTH0_DOMAIN/ios/YOUR_BUNDLE_IDENTIFIER/callback, +YOUR_BUNDLE_IDENTIFIER://YOUR_AUTH0_DOMAIN/ios/YOUR_BUNDLE_IDENTIFIER/callback ``` -**macOS** +#### macOS ```text -YOUR_BUNDLE_ID://YOUR_AUTH0_DOMAIN/macos/YOUR_BUNDLE_ID/callback +https://YOUR_AUTH0_DOMAIN/macos/YOUR_BUNDLE_IDENTIFIER/callback, +YOUR_BUNDLE_IDENTIFIER://YOUR_AUTH0_DOMAIN/macos/YOUR_BUNDLE_IDENTIFIER/callback ``` +
+ Example + +If your iOS bundle identifier were `com.example.MyApp` and your Auth0 Domain were `example.us.auth0.com`, then this value would be: + +```text +https://example.us.auth0.com/ios/com.example.MyApp/callback, +com.example.MyApp://example.us.auth0.com/ios/com.example.MyApp/callback +``` +
+ +> [!IMPORTANT] +> Make sure that the Auth0 application type is **Native**. Otherwise, you might run into errors due to the different configurations of other application types. + ### 🌐 Web Go to the settings page of your [Auth0 application](https://manage.auth0.com/#/applications/) and configure the following URLs: @@ -40,54 +66,81 @@ Go to the settings page of your [Auth0 application](https://manage.auth0.com/#/a - Allowed Logout URLs: `http://localhost:3000` - Allowed Web Origins: `http://localhost:3000` -## Configure Auth0 Flutter +## 2. Configure the SDK + +### 📱🌐 Mobile/Desktop/Web -The sample app uses [flutter_dotenv](https://pub.dev/packages/flutter_dotenv) for its configuration. Rename `.env.example` to `.env` and provide the appropriate **domain** and **Client Id**. Optionally, when using Android, you can configure the scheme as well. This can be set to a custom scheme, or `https` if you want to use [Android App Links](https://auth0.com/docs/applications/enable-android-app-links). You can read more about setting this value in the [Auth0.Android SDK README](https://github.com/auth0/Auth0.Android#a-note-about-app-deep-linking). +Rename `.env.example` to `.env` and replace the `{CLIENT_ID}` and `{DOMAIN}` placeholders with the Client ID and domain of your Auth0 application. ```sh AUTH0_DOMAIN={DOMAIN} AUTH0_CLIENT_ID={CLIENT_ID} -# AUTH0_CUSTOM_SCHEME=SCHEME +AUTH0_CUSTOM_SCHEME=com.auth0.sample # For Android ``` -### Android +### Android: Configure the string resources -In the sample, we are using values referenced from `android/app/src/main/res/values/strings.xml`. Rename `strings.xml.example` to `strings.xml` and fill in the respective values. +In the sample, we are using values referenced from `android/app/src/main/res/values/strings.xml`. Rename `strings.xml.example` to `strings.xml` and replace the `{DOMAIN}` placeholder with the domain of your Auth0 application. -- `com_auth0_domain`: The domain of your Auth0 tenant. Generally, you can find this in the Auth0 Dashboard under your application's settings in the **Domain** field. If you are using a custom domain, you should set this to the value of your custom domain instead. -- `com_auth0_scheme`: The scheme to use. Can be a custom scheme, or `https` if you want to use [Android App Links](https://auth0.com/docs/applications/enable-android-app-links). You can read more about setting this value in the [Auth0.Android SDK README](https://github.com/auth0/Auth0.Android#a-note-about-app-deep-linking). +```xml + + + {DOMAIN} + com.auth0.sample + +``` -### iOS/macOS +## 3. iOS/macOS: Configure the associated domain -The sample has already configured the required **Url Types** to ensure the callback and logout URLs can reach the app, so there is nothing to configure to run the sample on iOS and macOS. +### Configure the entitlements -## Run the sample +Open `ios/Runner.xcodeproj` (or `macos/Runner.xcodeproj`, for macOS) in Xcode and go to the settings of the **Runner** target. In the **Signing & Capabilities** tab, change the default bundle identifier from `com.auth0.samples.SwiftSample` to another value of your choosing. Then, ensure the **Automatically manage signing** box is checked, and that your Apple Team is selected. -To run the project, use the [Flutter CLI's](https://docs.flutter.dev/reference/flutter-cli) `run` command. +Under **Associated Domains**, find the following entry: -### 📱 Mobile/Desktop +```text +webcredentials:YOUR_AUTH0_DOMAIN +``` -```sh -flutter run +Replace the `YOUR_AUTH0_DOMAIN` placeholder with the domain of your Auth0 application. + +
+ Example + +If your Auth0 Domain were `example.us.auth0.com`, then this value would be: + +```text +webcredentials:example.us.auth0.com ``` +
-Ensure you have at least one emulator running. If you have multiple running, the CLI will prompt you to select the one to run the app on. +### Configure the Team ID and bundle identifier -### 🌐 Web +Open the settings page of your Auth0 application, scroll to the end, and open **Advanced Settings > Device Settings**. In the **iOS** section, set **Team ID** to your [Apple Team ID](https://developer.apple.com/help/account/manage-your-team/locate-your-team-id/), and **App ID** to the app's bundle identifier. + +![Screenshot of the iOS section inside the Auth0 application settings page](https://github.com/auth0/Auth0.swift/assets/5055789/7eb5f6a2-7cc7-4c70-acf3-633fd72dc506) + +This will add the app to your Auth0 tenant's `apple-app-site-association` file. + +> [!NOTE] +> For the associated domain to work, the app must be signed with your team certificate **even when building for the iOS simulator**. Make sure you are using the Apple Team whose Team ID is configured in the settings page of your Auth0 application. + +## 4. Run the sample + +Use the [Flutter CLI](https://docs.flutter.dev/reference/flutter-cli) to run the app. + +### 📱 Mobile/Desktop ```sh -flutter run -d chrome --web-port 3000 --web-renderer html +flutter run ``` -## Compile the sample +Ensure you have at least one emulator/simulator running. If you have multiple running, the CLI will prompt you to select the one to run the app on. -To compile the project, use the [Flutter CLI's](https://docs.flutter.dev/reference/flutter-cli) `build` command, including the platform you want to target. +### 🌐 Web ```sh -flutter build apk -flutter build ios -flutter build macos -flutter build web +flutter run -d chrome --web-port 3000 --web-renderer html ``` ## Issue Reporting @@ -96,19 +149,16 @@ For general support or usage questions, use the [Auth0 Community](https://commun **Do not report security vulnerabilities on the public GitHub issue tracker.** The [Responsible Disclosure Program](https://auth0.com/responsible-disclosure-policy) details the procedure for disclosing security issues. -## What is Auth0? - -Auth0 helps you to: - -* Add authentication with [multiple sources](https://auth0.com/docs/authenticate/identity-providers), either social identity providers such as **Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce** (amongst others), or enterprise identity systems like **Windows Azure AD, Google Apps, Active Directory, ADFS, or any SAML identity provider**. -* Add authentication through more traditional **[username/password databases](https://auth0.com/docs/authenticate/database-connections/custom-db)**. -* Add support for **[linking different user accounts](https://auth0.com/docs/manage-users/user-accounts/user-account-linking)** with the same user. -* Support for generating signed [JSON Web Tokens](https://auth0.com/docs/secure/tokens/json-web-tokens) to call your APIs and **flow the user identity** securely. -* Analytics of how, when, and where users are logging in. -* Pull data from other sources and add it to the user profile through [JavaScript Actions](https://auth0.com/docs/customize/actions). +--- -**Why Auth0?** Because you should save time, be happy, and focus on what really matters: building your product. +

+ + + + Auth0 Logo + +

-## License +

Auth0 is an easy-to-implement, adaptable authentication and authorization platform. To learn more check out Why Auth0?

-This project is licensed under Apache License 2.0. See the [LICENSE](../LICENSE) file for more information. +

This project is licensed under the MIT license. See the LICENSE file for more info.

diff --git a/sample/android/app/src/main/res/values/strings.xml.example b/sample/android/app/src/main/res/values/strings.xml.example index 134509d..bd5be54 100644 --- a/sample/android/app/src/main/res/values/strings.xml.example +++ b/sample/android/app/src/main/res/values/strings.xml.example @@ -1,5 +1,5 @@ {DOMAIN} - demo + com.auth0.sample diff --git a/sample/ios/Flutter/AppFrameworkInfo.plist b/sample/ios/Flutter/AppFrameworkInfo.plist index 9625e10..7c56964 100644 --- a/sample/ios/Flutter/AppFrameworkInfo.plist +++ b/sample/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/sample/ios/Podfile b/sample/ios/Podfile index e6c2225..6a66781 100644 --- a/sample/ios/Podfile +++ b/sample/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '11.0' +# platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/sample/ios/Podfile.lock b/sample/ios/Podfile.lock index 4fd013f..3f1c55f 100644 --- a/sample/ios/Podfile.lock +++ b/sample/ios/Podfile.lock @@ -1,9 +1,9 @@ PODS: - - Auth0 (2.5.0): + - Auth0 (2.6.0): - JWTDecode (~> 3.1) - SimpleKeychain (~> 1.1) - - auth0_flutter (1.5.0): - - Auth0 (= 2.5.0) + - auth0_flutter (1.6.0): + - Auth0 (= 2.6.0) - Flutter - FlutterMacOS - JWTDecode (= 3.1.0) @@ -35,13 +35,13 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/path_provider_foundation/darwin" SPEC CHECKSUMS: - Auth0: 72f19ad566fdf57f07bf37f828afd0c1570769a5 - auth0_flutter: ae5ebf94520af57ebce16af395820b9e07abbc9f - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + Auth0: 9cdb51adf6d348353e44bca03f9eb6080a58fdf1 + auth0_flutter: b3c3a62694f526fbc810b0ed0f228d342f4b3608 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 JWTDecode: 3eaab1e06b6f4dcbdd6716aff09ba4c2104ca8b7 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c SimpleKeychain: f8707c8e97b38c6a6e687b17732afc9bcef06439 -PODFILE CHECKSUM: 017d367adb008254d90bf0b68ef8e1786ef69d41 +PODFILE CHECKSUM: 42335a455e30d70d02084d2eec421e0fa8db9052 -COCOAPODS: 1.14.3 +COCOAPODS: 1.15.2 diff --git a/sample/ios/Runner.xcodeproj/project.pbxproj b/sample/ios/Runner.xcodeproj/project.pbxproj index 0258dc1..a545d81 100644 --- a/sample/ios/Runner.xcodeproj/project.pbxproj +++ b/sample/ios/Runner.xcodeproj/project.pbxproj @@ -47,6 +47,7 @@ 2A44A76C0AAD0DFDF7E623C5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 457D4C2E648B0FBC751BC9D0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5C6164E22BA3C98B00C15D7B /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; 5C84DBD82879193000E317DB /* RunnerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 5C84DBDA2879193000E317DB /* SmokeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmokeTests.swift; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; @@ -132,6 +133,7 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( + 5C6164E22BA3C98B00C15D7B /* Runner.entitlements */, 97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, @@ -204,7 +206,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1340; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 5C84DBD72879193000E317DB = { @@ -434,6 +436,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; @@ -639,6 +642,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; @@ -666,6 +670,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; diff --git a/sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index bb494aa..01c183d 100644 --- a/sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + UIApplicationSupportsIndirectInputEvents + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -58,7 +60,5 @@ UIViewControllerBasedStatusBarAppearance - UIApplicationSupportsIndirectInputEvents - diff --git a/sample/macos/Runner/DebugProfile.entitlements b/sample/ios/Runner/Runner.entitlements similarity index 54% rename from sample/macos/Runner/DebugProfile.entitlements rename to sample/ios/Runner/Runner.entitlements index dddb8a3..5a9049d 100644 --- a/sample/macos/Runner/DebugProfile.entitlements +++ b/sample/ios/Runner/Runner.entitlements @@ -2,11 +2,9 @@ - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - + com.apple.developer.associated-domains + + webcredentials:YOUR_AUTH0_DOMAIN + diff --git a/sample/lib/example_app.dart b/sample/lib/example_app.dart index 08637d8..8666934 100644 --- a/sample/lib/example_app.dart +++ b/sample/lib/example_app.dart @@ -45,7 +45,9 @@ class _ExampleAppState extends State { var credentials = await auth0 .webAuthentication(scheme: dotenv.env['AUTH0_CUSTOM_SCHEME']) - .login(); + // Use a Universal Link callback URL on iOS 17.4+ / macOS 14.4+ + // useHTTPS is ignored on Android + .login(useHTTPS: true); setState(() { _user = credentials.user; @@ -62,7 +64,9 @@ class _ExampleAppState extends State { } else { await auth0 .webAuthentication(scheme: dotenv.env['AUTH0_CUSTOM_SCHEME']) - .logout(); + // Use a Universal Link logout URL on iOS 17.4+ / macOS 14.4+ + // useHTTPS is ignored on Android + .logout(useHTTPS: true); setState(() { _user = null; }); diff --git a/sample/macos/Podfile.lock b/sample/macos/Podfile.lock index 231cd4a..e252651 100644 --- a/sample/macos/Podfile.lock +++ b/sample/macos/Podfile.lock @@ -1,9 +1,9 @@ PODS: - - Auth0 (2.5.0): + - Auth0 (2.6.0): - JWTDecode (~> 3.1) - SimpleKeychain (~> 1.1) - - auth0_flutter (1.5.0): - - Auth0 (= 2.5.0) + - auth0_flutter (1.6.0): + - Auth0 (= 2.6.0) - Flutter - FlutterMacOS - JWTDecode (= 3.1.0) @@ -35,13 +35,13 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin SPEC CHECKSUMS: - Auth0: 72f19ad566fdf57f07bf37f828afd0c1570769a5 - auth0_flutter: ae5ebf94520af57ebce16af395820b9e07abbc9f + Auth0: 9cdb51adf6d348353e44bca03f9eb6080a58fdf1 + auth0_flutter: b3c3a62694f526fbc810b0ed0f228d342f4b3608 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 JWTDecode: 3eaab1e06b6f4dcbdd6716aff09ba4c2104ca8b7 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c SimpleKeychain: f8707c8e97b38c6a6e687b17732afc9bcef06439 PODFILE CHECKSUM: a67b39594138394c7576fcbf46367d05f1b401ca -COCOAPODS: 1.14.3 +COCOAPODS: 1.15.2 diff --git a/sample/macos/Runner.xcodeproj/project.pbxproj b/sample/macos/Runner.xcodeproj/project.pbxproj index 28c28ad..8c3baab 100644 --- a/sample/macos/Runner.xcodeproj/project.pbxproj +++ b/sample/macos/Runner.xcodeproj/project.pbxproj @@ -74,13 +74,12 @@ 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; 380341EC7651E822E51276F4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 5C0793C02B2159B10097D919 /* RunnerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 5C0793C22B2159B10097D919 /* SmokeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmokeTests.swift; sourceTree = ""; }; - 5C0793CC2B215E370097D919 /* RunnerDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RunnerDebug.entitlements; sourceTree = ""; }; + 5C0793CC2B215E370097D919 /* Debug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Debug.entitlements; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 863D547F17487556E79759B3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 90F3DE0CDE97F4D433581A14 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; @@ -172,10 +171,9 @@ 33FAB671232836740065AC1E /* Runner */ = { isa = PBXGroup; children = ( - 5C0793CC2B215E370097D919 /* RunnerDebug.entitlements */, + 5C0793CC2B215E370097D919 /* Debug.entitlements */, 33CC10F02044A3C60003C045 /* AppDelegate.swift */, 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, 33E51914231749380026EE4D /* Release.entitlements */, 33CC11242044D66E0003C045 /* Resources */, 33BA886A226E78AF003329D5 /* Configs */, @@ -269,13 +267,12 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1500; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 33CC10EC2044A3C60003C045 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; SystemCapabilities = { com.apple.Sandbox = { enabled = 1; @@ -549,9 +546,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -676,15 +674,18 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/RunnerDebug.entitlements; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_ENTITLEMENTS = Runner/Debug.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; + PRODUCT_BUNDLE_IDENTIFIER = com.auth0.samples.FlutterSample; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -698,8 +699,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/sample/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/sample/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index bf9c6d0..c7b12ab 100644 --- a/sample/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/sample/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ + com.apple.developer.associated-domains + + webcredentials:YOUR_AUTH0_DOMAIN + com.apple.security.app-sandbox com.apple.security.cs.allow-jit diff --git a/sample/macos/Runner/Release.entitlements b/sample/macos/Runner/Release.entitlements index 852fa1a..7a2230d 100644 --- a/sample/macos/Runner/Release.entitlements +++ b/sample/macos/Runner/Release.entitlements @@ -4,5 +4,9 @@ com.apple.security.app-sandbox + com.apple.security.network.client + + com.apple.security.network.server + diff --git a/sample/pubspec.lock b/sample/pubspec.lock index a123df2..e3670ef 100644 --- a/sample/pubspec.lock +++ b/sample/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" url: "https://pub.dev" source: hosted - version: "61.0.0" + version: "67.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" url: "https://pub.dev" source: hosted - version: "5.13.0" + version: "6.4.1" args: dependency: transitive description: @@ -37,18 +37,18 @@ packages: dependency: "direct main" description: name: auth0_flutter - sha256: "46c9a1ed7ec75ccd67c0b54c7f9c950bac54f46dd91a49c2dc2450c678d5290c" + sha256: "89ec237b58f5e07e69984993adbb665f0170f6a0de4b2282efbd218dc97752ae" url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.6.0" auth0_flutter_platform_interface: dependency: transitive description: name: auth0_flutter_platform_interface - sha256: "60751c6ff692118b511c484c4e03b9304335a42c51aec5cd185f355f3171a046" + sha256: "44d98f616803f65a43164c2810a9ad416530a80426f381441164208b8844af86" url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.6.0" boolean_selector: dependency: transitive description: @@ -61,10 +61,10 @@ packages: dependency: transitive description: name: build - sha256: "3fbda25365741f8251b39f3917fb3c8e286a96fd068a5a242e11c2012d495777" + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.1" build_config: dependency: transitive description: @@ -77,34 +77,34 @@ packages: dependency: transitive description: name: build_daemon - sha256: "757153e5d9cd88253cb13f28c2fb55a537dc31fefd98137549895b5beb7c6169" + sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "4.0.1" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: "0713a05b0386bd97f9e63e78108805a4feca5898a4b821d6610857f10c91e975" + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.2" build_runner: dependency: "direct dev" description: name: build_runner - sha256: b0a8a7b8a76c493e85f1b84bffa0588859a06197863dba8c9036b15581fd9727 + sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.4.8" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "0671ad4162ed510b70d0eb4ad6354c249f8429cab4ae7a4cec86bbc2886eb76e" + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" url: "https://pub.dev" source: hosted - version: "7.2.7+1" + version: "7.3.0" built_collection: dependency: transitive description: @@ -117,10 +117,10 @@ packages: dependency: transitive description: name: built_value - sha256: "69acb7007eb2a31dc901512bfe0f7b767168be34cb734835d54c070bfa74c1b2" + sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e url: "https://pub.dev" source: hosted - version: "8.8.0" + version: "8.9.1" characters: dependency: transitive description: @@ -149,10 +149,10 @@ packages: dependency: transitive description: name: code_builder - sha256: "1be9be30396d7e4c0db42c35ea6ccd7cc6a1e19916b5dc64d6ac216b5544d677" + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.10.0" collection: dependency: transitive description: @@ -173,10 +173,10 @@ packages: dependency: transitive description: name: coverage - sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" + sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" url: "https://pub.dev" source: hosted - version: "1.6.3" + version: "1.7.2" crypto: dependency: transitive description: @@ -197,10 +197,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55" + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.6" fake_async: dependency: transitive description: @@ -213,18 +213,18 @@ packages: dependency: transitive description: name: ffi - sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99 + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.1.2" file: dependency: transitive description: name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.0" fixnum: dependency: transitive description: @@ -284,10 +284,10 @@ packages: dependency: "direct main" description: name: google_fonts - sha256: "6b6f10f0ce3c42f6552d1c70d2c28d764cf22bb487f50f66cca31dcd5194f4d6" + sha256: "2776c66b3e97c6cdd58d1bd3281548b074b64f1fd5c8f82391f7456e38849567" url: "https://pub.dev" source: hosted - version: "4.0.4" + version: "4.0.5" graphs: dependency: transitive description: @@ -300,10 +300,10 @@ packages: dependency: transitive description: name: http - sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "0.13.6" + version: "1.2.1" http_multi_server: dependency: transitive description: @@ -332,10 +332,10 @@ packages: dependency: transitive description: name: js - sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 url: "https://pub.dev" source: hosted - version: "0.6.5" + version: "0.6.7" json_annotation: dependency: transitive description: @@ -344,14 +344,38 @@ packages: url: "https://pub.dev" source: hosted version: "4.8.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: name: lints - sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.1.1" logging: dependency: transitive description: @@ -364,34 +388,34 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" mime: dependency: transitive description: name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" mockito: dependency: "direct dev" description: @@ -420,34 +444,34 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_provider: dependency: transitive description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" path_provider_linux: dependency: transitive description: @@ -460,10 +484,10 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: @@ -476,18 +500,18 @@ packages: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.6" + version: "2.1.8" pool: dependency: transitive description: @@ -553,10 +577,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "373f96cf5a8744bc9816c1ff41cf5391bbdbe3d7a96fe98c622b6738a8a7bd33" + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.5.0" source_map_stack_trace: dependency: transitive description: @@ -673,58 +697,58 @@ packages: dependency: transitive description: name: vm_service - sha256: e7fb6c2282f7631712b69c19d1bff82f3767eea33a2321c14fa59ad67ea391c7 + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 url: "https://pub.dev" source: hosted - version: "9.4.0" + version: "13.0.0" watcher: dependency: transitive description: name: watcher - sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0" + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.1.0" web: dependency: transitive description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.5.1" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.4" webkit_inspection_protocol: dependency: transitive description: name: webkit_inspection_protocol - sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" win32: dependency: transitive description: name: win32 - sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" + sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480" url: "https://pub.dev" source: hosted - version: "4.1.4" + version: "5.3.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" yaml: dependency: transitive description: @@ -734,5 +758,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.0.0-0 <4.0.0" - flutter: ">=3.7.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.10.0" diff --git a/sample/pubspec.yaml b/sample/pubspec.yaml index 06f48bd..d728862 100644 --- a/sample/pubspec.yaml +++ b/sample/pubspec.yaml @@ -28,7 +28,7 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: - auth0_flutter: 1.5.0 + auth0_flutter: 1.6.0 flutter: sdk: flutter flutter_dotenv: ^5.0.2 diff --git a/sample/test/widget_test.dart b/sample/test/widget_test.dart index c14722c..6f6c04b 100644 --- a/sample/test/widget_test.dart +++ b/sample/test/widget_test.dart @@ -34,6 +34,7 @@ AUTH0_CLIENT_ID=bar redirectUrl: anyNamed('redirectUrl'), scopes: anyNamed('scopes'), parameters: anyNamed('parameters'), + useHTTPS: anyNamed('useHTTPS'), useEphemeralSession: anyNamed('useEphemeralSession'), idTokenValidationConfig: anyNamed('idTokenValidationConfig'), )).thenAnswer((_) => Future.value(Credentials.fromMap({ @@ -65,6 +66,7 @@ AUTH0_CLIENT_ID=bar redirectUrl: anyNamed('redirectUrl'), scopes: anyNamed('scopes'), parameters: anyNamed('parameters'), + useHTTPS: anyNamed('useHTTPS'), useEphemeralSession: anyNamed('useEphemeralSession'), idTokenValidationConfig: anyNamed('idTokenValidationConfig'), )).called(1); @@ -83,6 +85,7 @@ AUTH0_CLIENT_ID=bar await tester.pumpAndSettle(); verify(mockedWebAuth.logout( + useHTTPS: anyNamed('useHTTPS'), returnTo: anyNamed('returnTo'), )).called(1); diff --git a/sample/test/widget_test.mocks.dart b/sample/test/widget_test.mocks.dart index 69ba2d9..be0131b 100644 --- a/sample/test/widget_test.mocks.dart +++ b/sample/test/widget_test.mocks.dart @@ -1,4 +1,4 @@ -// Mocks generated by Mockito 5.4.0 from annotations +// Mocks generated by Mockito 5.4.4 from annotations // in sample/test/widget_test.dart. // Do not manually edit this file. @@ -17,6 +17,8 @@ import 'package:mockito/mockito.dart' as _i1; // ignore_for_file: avoid_redundant_argument_values // ignore_for_file: avoid_setters_without_getters // ignore_for_file: comment_references +// ignore_for_file: deprecated_member_use +// ignore_for_file: deprecated_member_use_from_same_package // ignore_for_file: implementation_imports // ignore_for_file: invalid_use_of_visible_for_testing_member // ignore_for_file: prefer_const_constructors @@ -83,6 +85,7 @@ class MockAuth0 extends _i1.Mock implements _i6.Auth0 { Invocation.getter(#credentialsManager), ), ) as _i2.CredentialsManager); + @override _i3.AuthenticationApi get api => (super.noSuchMethod( Invocation.getter(#api), @@ -91,6 +94,7 @@ class MockAuth0 extends _i1.Mock implements _i6.Auth0 { Invocation.getter(#api), ), ) as _i3.AuthenticationApi); + @override _i4.WebAuthentication webAuthentication({ String? scheme, @@ -139,6 +143,7 @@ class MockWebAuthentication extends _i1.Mock implements _i4.WebAuthentication { String? redirectUrl, String? organizationId, String? invitationUrl, + bool? useHTTPS = false, bool? useEphemeralSession = false, Map? parameters = const {}, _i5.IdTokenValidationConfig? idTokenValidationConfig = @@ -155,6 +160,7 @@ class MockWebAuthentication extends _i1.Mock implements _i4.WebAuthentication { #redirectUrl: redirectUrl, #organizationId: organizationId, #invitationUrl: invitationUrl, + #useHTTPS: useHTTPS, #useEphemeralSession: useEphemeralSession, #parameters: parameters, #idTokenValidationConfig: idTokenValidationConfig, @@ -172,6 +178,7 @@ class MockWebAuthentication extends _i1.Mock implements _i4.WebAuthentication { #redirectUrl: redirectUrl, #organizationId: organizationId, #invitationUrl: invitationUrl, + #useHTTPS: useHTTPS, #useEphemeralSession: useEphemeralSession, #parameters: parameters, #idTokenValidationConfig: idTokenValidationConfig, @@ -180,12 +187,20 @@ class MockWebAuthentication extends _i1.Mock implements _i4.WebAuthentication { ), )), ) as _i7.Future<_i5.Credentials>); + @override - _i7.Future logout({String? returnTo}) => (super.noSuchMethod( + _i7.Future logout({ + String? returnTo, + bool? useHTTPS = false, + }) => + (super.noSuchMethod( Invocation.method( #logout, [], - {#returnTo: returnTo}, + { + #returnTo: returnTo, + #useHTTPS: useHTTPS, + }, ), returnValue: _i7.Future.value(), returnValueForMissingStub: _i7.Future.value(),