Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0b32ff68b |
+8
-7
@@ -7,7 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
## [1.1.1] - 2026-01-04
|
## [1.1.2] - 2026-01-04
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- **Web auth simplified**: Skip Flutter OIDC on web - NPM forward auth handles it
|
||||||
|
- NPM authenticates at proxy level before app loads
|
||||||
|
- No more redundant OIDC redirect after NPM auth completes
|
||||||
|
- Fixes "Cannot use Ref after disposed" error from conflicting auth flows
|
||||||
|
- Mobile still uses Flutter OIDC flow
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- Logout now redirects to Authentik to end SSO session
|
- Logout now redirects to Authentik to end SSO session
|
||||||
@@ -15,12 +22,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Uses OIDC end_session_endpoint from discovery document
|
- Uses OIDC end_session_endpoint from discovery document
|
||||||
- Redirects back to app after Authentik logout completes
|
- Redirects back to app after Authentik logout completes
|
||||||
|
|
||||||
### Fixed
|
|
||||||
- Fixed Riverpod lifecycle error in OIDC callback page
|
|
||||||
- "Cannot use the Ref of authProvider after it has been disposed"
|
|
||||||
- Store notifier reference before async gap to prevent disposed ref access
|
|
||||||
- Add mounted check at start of callback processing
|
|
||||||
|
|
||||||
## [1.1.0] - 2026-01-04
|
## [1.1.0] - 2026-01-04
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
@@ -45,6 +46,14 @@ class _AppScaffoldState extends ConsumerState<AppScaffold> {
|
|||||||
return _buildScaffold(context);
|
return _buildScaffold(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// On web, NPM forward auth handles authentication at the proxy level.
|
||||||
|
// If we reach this point, the user is already authenticated by NPM.
|
||||||
|
// No need for Flutter's OIDC flow - just show the app.
|
||||||
|
if (kIsWeb) {
|
||||||
|
return _buildScaffold(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mobile: Use Flutter's OIDC flow
|
||||||
final authAsync = ref.watch(authProvider);
|
final authAsync = ref.watch(authProvider);
|
||||||
|
|
||||||
return authAsync.when(
|
return authAsync.when(
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
# In Windows, build-name is used as the major, minor, and patch parts
|
# In Windows, build-name is used as the major, minor, and patch parts
|
||||||
# of the product and file versions while build-number is used as the build suffix.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 1.1.1+1
|
version: 1.1.2+1
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.10.4
|
sdk: ^3.10.4
|
||||||
|
|||||||
Reference in New Issue
Block a user