Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
a10f01f
windows support added
NandanPrabhu Aug 17, 2025
ce3967c
windows support added
NandanPrabhu Aug 17, 2025
50ebfae
windows support added
NandanPrabhu Aug 17, 2025
f2d0866
windows support fixes build issue due to dependencies
NandanPrabhu Aug 21, 2025
c4c896d
fixes redirection issues
NandanPrabhu Sep 7, 2025
9b6d647
.env.example added
NandanPrabhu Sep 8, 2025
1213893
Merge branch 'main' into SDK-6071
NandanPrabhu Dec 7, 2025
15534c0
Adds PKCE flow
NandanPrabhu Dec 17, 2025
1d0112e
build(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2 (#689)
dependabot[bot] Dec 10, 2025
9e9e103
Adding DPoP feature for flutter
utkrishtsahu Oct 6, 2025
0fb02f4
feat(android): Upgrade native SDK to 3.9.0 and adapt to breaking changes
utkrishtsahu Oct 14, 2025
cdc2327
adding Dp feature with platform updates
utkrishtsahu Nov 20, 2025
a92e5d4
adding changes as per github action bot
utkrishtsahu Nov 20, 2025
5c29020
addressed bot PR review comments
utkrishtsahu Nov 20, 2025
f2742d3
Fixing UT failure issue in CI for android,ios and macos
utkrishtsahu Nov 20, 2025
f679eeb
Fixed review comments by prince and claude
utkrishtsahu Nov 21, 2025
ba1079b
restored to java 8 and handled review comments
utkrishtsahu Nov 27, 2025
ad4bdcb
Resolving Claud code review
utkrishtsahu Dec 1, 2025
59d453a
Handle review comments and added all UT for flutter including DPoP
utkrishtsahu Dec 2, 2025
e5ef368
addressing unit test failure for android,ios and symlink
utkrishtsahu Dec 2, 2025
8d60adc
Fix race conditions in iOS/macOS unit tests and document cache-only b…
utkrishtsahu Dec 3, 2025
3885a98
Fix iOS/macOS unit test failures
utkrishtsahu Dec 3, 2025
6f5ea14
Resilving review comments and ios UT test failure
utkrishtsahu Dec 3, 2025
51df028
Fix CI failures: Add missing files and update test mocks
utkrishtsahu Dec 3, 2025
d68977e
Fix iOS/macOS unit test timeouts by reverting async test changes
utkrishtsahu Dec 3, 2025
ff9894b
Fix iOS unit test timeouts by adding explicit 5s timeouts to all expe…
utkrishtsahu Dec 3, 2025
248b801
fix iOS unit test timeouts by reverting to proven async/sync patterns
utkrishtsahu Dec 5, 2025
d361a2a
Fixes iOS UTs
NandanPrabhu Dec 5, 2025
155ba50
Adds scenedelegate conformance
NandanPrabhu Dec 5, 2025
cc21832
Address review comments: separate DPoP channel and simplify docs
utkrishtsahu Dec 5, 2025
1115242
Fix test: use correct index for CredentialsManagerMethodCallHandler
utkrishtsahu Dec 5, 2025
e77a5e4
Removed UT as per review comments
utkrishtsahu Dec 5, 2025
580338c
addresed few review comments
utkrishtsahu Dec 5, 2025
a3c5eee
refactor: Move DPoP utility methods from AuthenticationApi to Auth0 c…
utkrishtsahu Dec 5, 2025
ff11a37
Handled review comments:Decoupling in all platforms,removal of commen…
utkrishtsahu Dec 8, 2025
fc88d2c
added UT in CredentialsManagerHandlerTests.swift
utkrishtsahu Dec 8, 2025
6e1cec2
feat: refactor DPoP operations and add tokenType parameter to userPro…
utkrishtsahu Dec 9, 2025
2029df8
Fix iOS CredentialsManager caching tests
utkrishtsahu Dec 9, 2025
a260001
Fixing ios CI failure
utkrishtsahu Dec 9, 2025
0fc8550
Handling review comments UserInfoApiRequestHandler and AuthAPIUserInf…
utkrishtsahu Dec 9, 2025
648acd4
fixing lint issues
utkrishtsahu Dec 10, 2025
938f928
Docs: Add v2.0.0 migration notice and update documentation
utkrishtsahu Dec 10, 2025
551ef0f
Fix linting issue in auth0_flutter folder
utkrishtsahu Dec 10, 2025
767a2c8
Release afpi-v2.0.0-beta.1 (#695)
utkrishtsahu Dec 11, 2025
ac65a8a
Release af-v2.0.0-beta.1 (#696)
utkrishtsahu Dec 11, 2025
17a4020
build(deps): bump actions/cache from 4 to 5 in /.github/actions/setup…
dependabot[bot] Dec 14, 2025
5e9f5c2
build(deps): bump actions/upload-artifact from 5 to 6 in /.github/act…
dependabot[bot] Dec 14, 2025
9cf2471
build(deps): bump actions/upload-artifact from 5 to 6 in /.github/act…
dependabot[bot] Dec 15, 2025
bc450a3
build(deps): bump actions/download-artifact from 6.0.0 to 7.0.0 (#699)
dependabot[bot] Dec 15, 2025
85b7cd9
build(deps): bump actions/upload-artifact from 5 to 6 (#698)
dependabot[bot] Dec 15, 2025
81d0af2
build(deps-dev): bump glob from 10.4.5 to 10.5.0 in /appium-test (#683)
dependabot[bot] Dec 15, 2025
dea4fa3
PKCE bug fixes
NandanPrabhu Dec 19, 2025
8f57ad9
code refactoring
NandanPrabhu Dec 19, 2025
bac263a
fixes build issues
NandanPrabhu Dec 21, 2025
302be07
fixes build issues
NandanPrabhu Dec 21, 2025
dbcbd29
Fixes issue due to expires in
NandanPrabhu Dec 21, 2025
12f5b37
Fixes PKCE issues
NandanPrabhu Jan 3, 2026
6136181
Fixes PKCE issues
NandanPrabhu Jan 3, 2026
4bf059e
adds logout code
NandanPrabhu Jan 5, 2026
eb4a138
adds login to bring app window to the front on redirection
NandanPrabhu Jan 8, 2026
69e57aa
build(deps): bump ruby/setup-ruby in /.github/actions/setup-darwin
dependabot[bot] Dec 18, 2025
a5ac9e6
fix: Fixes the build error when running the `dart run build_runner bu…
pmathew92 Dec 19, 2025
6b5ea13
build(deps): bump ruby/setup-ruby from 1.273.0 to 1.274.0 in /.github…
dependabot[bot] Dec 22, 2025
50bf132
build(deps): bump ruby/setup-ruby from 1.274.0 to 1.275.0 in /.github…
dependabot[bot] Dec 24, 2025
9637414
build(deps): bump ruby/setup-ruby from 1.275.0 to 1.278.0 in /.github…
dependabot[bot] Jan 4, 2026
282cdeb
build(deps): bump ruby/setup-ruby from 1.278.0 to 1.279.0 in /.github…
dependabot[bot] Jan 7, 2026
e9e935f
Merge branch 'main' into SDK-6071
NandanPrabhu Jan 8, 2026
c1cd636
deleted few unused files
NandanPrabhu Jan 8, 2026
6ad8d90
Add unit test and CI setup
NandanPrabhu Jan 20, 2026
8bba351
Merge branch 'main' into SDK-6071
NandanPrabhu Jan 20, 2026
ae5faf8
Refactors code and fixes github CI issue
NandanPrabhu Jan 20, 2026
c28bf6a
Reverts few file changes
NandanPrabhu Jan 20, 2026
e75e834
Reverts few file changes
NandanPrabhu Jan 20, 2026
4364c25
Changes to fix UTs failure in CI
NandanPrabhu Jan 20, 2026
28eda62
Changes to fix UTs failure in CI
NandanPrabhu Jan 20, 2026
6d54287
Fixes unit tests
NandanPrabhu Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"permissions": {
"allow": [
"Bash(grep:*)"
]
}
}
2 changes: 1 addition & 1 deletion .github/actions/setup-darwin/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ runs:
shell: bash

- name: Set up Ruby
uses: ruby/setup-ruby@708024e6c902387ab41de36e1669e43b5ee7085e # pin@v1.283.0
uses: ruby/setup-ruby@90be1154f987f4dc0fe0dd0feedac9e473aa4ba8 # pin@v1.286.0
with:
ruby-version: ${{ inputs.ruby }}
bundler-cache: true
Expand Down
82 changes: 81 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,72 @@ jobs:
name: Test results
path: 'auth0_flutter/example/build/app/reports/androidTests/*.xml'

test-windows-unit:
name: Run native Windows unit tests
runs-on: windows-latest
environment: ${{ github.event.pull_request.head.repo.fork && 'external' || 'internal' }}

steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3

- name: Install Flutter
uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # pin@v2.21.0
with:
flutter-version: ${{ env.flutter }}
channel: stable
cache: true

- name: Add example/.env
working-directory: auth0_flutter
run: Copy-Item example/.env.example example/.env
shell: powershell

- name: Set up vcpkg
uses: lukka/run-vcpkg@v11 # pin@v11
with:
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
vcpkgGitCommitId: '7a26ed4ca1cc6eafc66666166f8f36c49dc5ec18'

- name: Install vcpkg dependencies
run: |
${{ github.workspace }}\vcpkg\vcpkg install cpprestsdk:x64-windows openssl:x64-windows boost-system:x64-windows boost-date-time:x64-windows boost-regex:x64-windows
shell: cmd

- name: Build Windows example app
working-directory: auth0_flutter/example
run: flutter build windows --debug
env:
CMAKE_TOOLCHAIN_FILE: ${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake

- name: Install OpenCppCoverage
run: choco install opencppcoverage
shell: powershell

- name: Build Windows unit tests
working-directory: auth0_flutter/windows
run: |
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake -DAUTH0_FLUTTER_ENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build build --config Debug
shell: cmd

- name: Run Windows unit tests with coverage
working-directory: auth0_flutter/windows
run: |
& "C:\Program Files\OpenCppCoverage\OpenCppCoverage.exe" `
--sources ${{ github.workspace }}\auth0_flutter\windows `
--excluded_sources ${{ github.workspace }}\auth0_flutter\windows\test `
--export_type cobertura:coverage.xml `
--export_type html:coverage_html `
-- .\build\Debug\auth0_flutter_tests.exe
shell: powershell

- name: Upload coverage report
uses: actions/upload-artifact@v6
with:
name: Windows coverage
path: auth0_flutter/windows/coverage.xml

# test-android-smoke:
# name: Run native Android smoke tests using API-level ${{ matrix.android-api }}
# runs-on: macos-latest-xl
Expand Down Expand Up @@ -418,7 +484,8 @@ jobs:
test-auth0_flutter,
test-auth0_flutter_platform_interface,
test-ios-unit,
test-android-unit
test-android-unit,
test-windows-unit
]

steps:
Expand Down Expand Up @@ -449,6 +516,12 @@ jobs:
name: Android coverage
path: coverage/android

- name: Download coverage report for Windows
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
with:
name: Windows coverage
path: coverage/windows

- name: Upload coverage report for auth0_flutter
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de
with:
Expand Down Expand Up @@ -476,3 +549,10 @@ jobs:
name: Auth0 Flutter
flags: auth0_flutter_android
directory: coverage/android

- name: Upload coverage report for Windows
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de
with:
name: Auth0 Flutter
flags: auth0_flutter_windows
directory: coverage/windows
87 changes: 87 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"files.associations": {
"variant": "cpp",
"tuple": "cpp",
"utility": "cpp",
"array": "cpp",
"vector": "cpp",
"xstring": "cpp",
"xutility": "cpp",
"algorithm": "cpp",
"any": "cpp",
"atomic": "cpp",
"bit": "cpp",
"bitset": "cpp",
"chrono": "cpp",
"cmath": "cpp",
"compare": "cpp",
"complex": "cpp",
"concepts": "cpp",
"deque": "cpp",
"exception": "cpp",
"format": "cpp",
"forward_list": "cpp",
"fstream": "cpp",
"functional": "cpp",
"future": "cpp",
"iosfwd": "cpp",
"istream": "cpp",
"iterator": "cpp",
"limits": "cpp",
"list": "cpp",
"map": "cpp",
"memory": "cpp",
"new": "cpp",
"numeric": "cpp",
"optional": "cpp",
"queue": "cpp",
"random": "cpp",
"ratio": "cpp",
"regex": "cpp",
"string": "cpp",
"system_error": "cpp",
"type_traits": "cpp",
"unordered_map": "cpp",
"xlocale": "cpp",
"xlocnum": "cpp",
"xmemory": "cpp",
"xtr1common": "cpp",
"xtree": "cpp",
"cctype": "cpp",
"charconv": "cpp",
"clocale": "cpp",
"codecvt": "cpp",
"condition_variable": "cpp",
"csetjmp": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"ios": "cpp",
"iostream": "cpp",
"locale": "cpp",
"mutex": "cpp",
"ostream": "cpp",
"set": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"typeinfo": "cpp",
"unordered_set": "cpp",
"xfacet": "cpp",
"xhash": "cpp",
"xiosbase": "cpp",
"xlocbuf": "cpp",
"xlocinfo": "cpp",
"xlocmes": "cpp",
"xlocmon": "cpp",
"xloctime": "cpp"
}
}
6 changes: 3 additions & 3 deletions appium-test/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 34 additions & 2 deletions auth0_flutter/.metadata
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,39 @@
# This file should be version controlled and should not be manually edited.

version:
revision: 097d3313d8e2c7f901932d63e537c1acefb87800
channel: stable
revision: "ea121f8859e4b13e47a8f845e4586164519588bc"
channel: "[user-branch]"

project_type: plugin

# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- platform: android
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- platform: ios
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- platform: macos
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- platform: web
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- platform: windows
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc

# User provided section

# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'
7 changes: 7 additions & 0 deletions auth0_flutter/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Change Log

## [af-v2.0.0-beta.2](https://github.com/auth0/auth0-flutter/tree/af-v2.0.0-beta.2) (2026-01-22)
[Full Changelog](https://github.com/auth0/auth0-flutter/compare/af-v2.0.0-beta.1...af-v2.0.0-beta.2)

**Added**
- feat: add custom token exchange support across all platforms [\#721](https://github.com/auth0/auth0-flutter/pull/721) ([sanchitmehta94](https://github.com/sanchitmehta94))
- feat: Add allowedBrowsers parameter to logout API [\#726](https://github.com/auth0/auth0-flutter/pull/726) ([pmathew92](https://github.com/pmathew92))

## [af-v2.0.0-beta.1](https://github.com/auth0/auth0-flutter/tree/af-v2.0.0-beta.1) (2025-12-10)
[Full Changelog](https://github.com/auth0/auth0-flutter/compare/af-v1.14.0...af-v2.0.0-beta.1)

Expand Down
41 changes: 41 additions & 0 deletions auth0_flutter/EXAMPLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
- [Passwordless Login](#passwordless-login)
- [Retrieve user information](#retrieve-user-information)
- [Renew credentials](#renew-credentials)
- [Custom Token Exchange](#custom-token-exchange)
- [Errors](#errors-2)
- [🌐📱 Organizations](#-organizations)
- [Log in to an organization](#log-in-to-an-organization)
Expand Down Expand Up @@ -700,6 +701,46 @@ final didStore =

> 💡 To obtain a refresh token, make sure your Auth0 application has the **refresh token** [grant enabled](https://auth0.com/docs/get-started/applications/update-grant-types). If you are also specifying an audience value, make sure that the corresponding Auth0 API has the **Allow Offline Access** [setting enabled](https://auth0.com/docs/get-started/apis/api-settings#access-settings).

### Custom Token Exchange

[Custom Token Exchange](https://auth0.com/docs/authenticate/custom-token-exchange) allows you to enable applications to exchange their existing tokens for Auth0 tokens when calling the /oauth/token endpoint. This is useful for advanced integration use cases, such as:
- Integrate an external identity provider
- Migrate to Auth0

> **Note:** This feature is currently available in [Early Access](https://auth0.com/docs/troubleshoot/product-lifecycle/product-release-stages#early-access). Please reach out to Auth0 support to enable it for your tenant.

<details>
<summary>Mobile (Android/iOS)</summary>

```dart
final credentials = await auth0.api.customTokenExchange(
subjectToken: 'external-idp-token',
subjectTokenType: 'urn:acme:legacy-token',
audience: 'https://api.example.com', // Optional
scopes: {'openid', 'profile', 'email'}, // Optional, defaults to {'openid', 'profile', 'email'}
organization: 'org_abc123', // Optional
);
```

</details>

<details>
<summary>Web</summary>

```dart
final credentials = await auth0Web.customTokenExchange(
subjectToken: 'external-idp-token',
subjectTokenType: 'urn:acme:legacy-token',
audience: 'https://api.example.com', // Optional
scopes: {'openid', 'profile', 'email'}, // Optional
organizationId: 'org_abc123', // Optional
);
```

</details>

> 💡 For more information, see the [Custom Token Exchange documentation](https://auth0.com/docs/authenticate/custom-token-exchange) and [RFC 8693](https://tools.ietf.org/html/rfc8693).

### Errors

The Authentication API client will only throw `ApiException` exceptions. You can find more information in the `details` property of the exception. Check the [API documentation](https://pub.dev/documentation/auth0_flutter_platform_interface/latest/auth0_flutter_platform_interface/ApiException-class.html) to learn more about the available `ApiException` properties.
Expand Down
2 changes: 1 addition & 1 deletion auth0_flutter/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ android {

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'com.auth0.android:auth0:3.11.0'
implementation 'com.auth0.android:auth0:3.12.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.hamcrest:java-hamcrest:2.0.0.0'
testImplementation "org.mockito.kotlin:mockito-kotlin:4.1.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ class Auth0FlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityAware {
SignupApiRequestHandler(),
UserInfoApiRequestHandler(),
RenewApiRequestHandler(),
CustomTokenExchangeApiRequestHandler(),
ResetPasswordApiRequestHandler()
)
)
Expand Down
Loading
Loading