- Replace flutter_appauth with custom WebView implementation to resolve deep link issues - Add KeycloakWebViewAuthService with integrated WebView for seamless authentication - Configure Android manifest for HTTP cleartext traffic support - Add network security config for development environment (192.168.1.11) - Update Keycloak client to use HTTP callback endpoint (http://192.168.1.11:8080/auth/callback) - Remove obsolete keycloak_auth_service.dart and temporary scripts - Clean up dependencies and regenerate injection configuration - Tested successfully on multiple Android devices (Xiaomi 2201116TG, SM A725F) BREAKING CHANGE: Authentication flow now uses WebView instead of external browser - Users will see Keycloak login page within the app instead of browser redirect - Resolves ERR_CLEARTEXT_NOT_PERMITTED and deep link state management issues - Maintains full OIDC compliance with PKCE flow and secure token storage Technical improvements: - WebView with custom navigation delegate for callback handling - Automatic token extraction and user info parsing from JWT - Proper error handling and user feedback - Consistent authentication state management across app lifecycle
20 lines
672 B
C++
20 lines
672 B
C++
#ifndef RUNNER_UTILS_H_
|
|
#define RUNNER_UTILS_H_
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
// Creates a console for the process, and redirects stdout and stderr to
|
|
// it for both the runner and the Flutter library.
|
|
void CreateAndAttachConsole();
|
|
|
|
// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string
|
|
// encoded in UTF-8. Returns an empty std::string on failure.
|
|
std::string Utf8FromUtf16(const wchar_t* utf16_string);
|
|
|
|
// Gets the command line arguments passed in as a std::vector<std::string>,
|
|
// encoded in UTF-8. Returns an empty std::vector<std::string> on failure.
|
|
std::vector<std::string> GetCommandLineArguments();
|
|
|
|
#endif // RUNNER_UTILS_H_
|