Add Baron Safe app features through session block skeleton
ci / flutter-check (push) Successful in 4s
ci / flutter-check (push) Successful in 4s
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# Runtime Configuration
|
||||
|
||||
Baron Safe runtime values are injected at Flutter build/run time with `--dart-define`.
|
||||
|
||||
## WebView URL
|
||||
|
||||
The app reads the initial WebView URL from `BARON_SAFE_WEB_URL`.
|
||||
|
||||
| Environment | Example value | Purpose |
|
||||
| --- | --- | --- |
|
||||
| local | `http://10.0.2.2:8080` | Android emulator access to a host preview server |
|
||||
| staging | `https://safe-staging.baron.hmac.kr` | Internal QA and SSO integration testing |
|
||||
| production | `https://safe.baron.hmac.kr` | Production Baron Safe web route |
|
||||
|
||||
Default value in code:
|
||||
|
||||
```text
|
||||
https://safe.baron.hmac.kr
|
||||
```
|
||||
|
||||
## Run Examples
|
||||
|
||||
Android emulator local preview:
|
||||
|
||||
```bash
|
||||
flutter run --dart-define=BARON_SAFE_WEB_URL=http://10.0.2.2:8080
|
||||
```
|
||||
|
||||
Staging:
|
||||
|
||||
```bash
|
||||
flutter run --dart-define=BARON_SAFE_WEB_URL=https://safe-staging.baron.hmac.kr
|
||||
```
|
||||
|
||||
Release build example:
|
||||
|
||||
```bash
|
||||
flutter build apk --dart-define=BARON_SAFE_WEB_URL=https://safe.baron.hmac.kr
|
||||
```
|
||||
|
||||
## Docker Flutter Examples
|
||||
|
||||
From repository root:
|
||||
|
||||
```bash
|
||||
docker run --rm \
|
||||
-v /home/ubuntu/workspace/baron-safe-app/app:/app \
|
||||
-w /app \
|
||||
ghcr.io/cirruslabs/flutter:3.38.0 \
|
||||
flutter analyze
|
||||
```
|
||||
|
||||
For build or run commands, pass the same `--dart-define` argument to Flutter inside the container.
|
||||
|
||||
## Rules
|
||||
|
||||
- Do not hardcode staging-only or developer-only URLs in feature code.
|
||||
- Do not put API keys, APNs keys, FCM server keys, signing keys, or production secrets in `--dart-define`.
|
||||
- Keep WebView URL configuration separate from future native API base URL configuration.
|
||||
- Keep the WebView allowed host list in app code small and explicit.
|
||||
- Allow remote WebView traffic only over HTTPS.
|
||||
- Allow HTTP only for local development hosts such as `localhost`, `127.0.0.1`, and Android emulator host `10.0.2.2`.
|
||||
|
||||
## Verification
|
||||
|
||||
1. Confirm [baron_safe_web_config.dart](../app/lib/src/features/webview/baron_safe_web_config.dart) still reads `BARON_SAFE_WEB_URL`.
|
||||
2. Confirm [baron_safe_webview_policy.dart](../app/lib/src/features/webview/baron_safe_webview_policy.dart) allows only approved WebView hosts.
|
||||
3. Run `flutter analyze`.
|
||||
4. Run WebView policy tests.
|
||||
5. For device/emulator checks, launch the app with the environment-specific `--dart-define` and verify the `/safe` route loads the expected WebView target.
|
||||
Reference in New Issue
Block a user