|
|
@@ -1827,7 +1827,7 @@ OneAll als client. Er verandert dus niets aan de Facebook-instellingen van de si
|
|
|
| **130-D** | ✅ **Code klaar** (2026-09-21), Bob deployt | `custom.social_login_app.inc` — callback die de token inwisselt (hergebruikt `social_login_core_get_settings()` / `_do_api_request()` / `_get_user_for_user_token()` / `_get_uid_for_email()` / `_map_identity_token_to_user_token()`), inlogt met `user_login_finalize()` en de sessie onder de `state` in de cache-bin legt (TTL 5 min, eenmalig). `php -l` schoon op PHP 8.1. Staat in `~/tmp/` op aegir-o1 |
|
|
|
| **130-E** | ✅ **Code klaar** (2026-09-21), Bob deployt | `POST /flutterdrup/app_social_login/claim.json` → `{status: pending\|ok\|error}`; bij `ok` staan `sessid`/`session_name`/`token`/`user` erin als bij `user/login.json`, maar met een **klein** user-object (uid/name/mail) — geen volledig object in een anoniem claimbaar antwoord. Access callback `_custom_social_app_claim_access()` (TRUE, huispatroon van `custom_plaatsen_access`) |
|
|
|
| **130-F** | Bob | Plaatsen + aanzetten + testen. **Stap-voor-stap in `~/tmp/130-drupal-instructies.md` op aegir-o1**, inclusief 4 curl-tests. ⚠️ De `callback_uri` moet de **`/nl/`-prefix** hebben (de site draait op `pathPrefix: nl/`, de widget op /nl/user doet het ook zo) |
|
|
|
-| **130-G** | Claude | Custom action `socialLoginStart(provider)`: state genereren, Custom Tab openen, pollen, App State vullen (`userSessionid`, `userSessionname`, `userToken`, `userName`, `userUid`, `userMail`), tab sluiten. Timeout ~3 min |
|
|
|
+| **130-G** | ✅ **Code klaar** (2026-09-21), nog niet in de builder | `socialLoginStart(provider)` — state genereren, Custom Tab openen (`LaunchMode.inAppBrowserView`, **niet** `inAppWebView`), elke 2 s claimen, App State vullen als `drupalLogin`, tab sluiten met `closeInAppWebView()`. Timeout 3 min. `dart analyze` 0 errors. Wacht op 130-F. ⚠️ Te verifiëren op een toestel: of Android de polling niet throttlet terwijl de Custom Tab voorgrond is — zo ja, claimt hij alsnog bij terugkeer, want de state is 5 min geldig |
|
|
|
| **130-H** | Claude | Knoppen op `lib/login/login/login_widget.dart` onder het bestaande formulier |
|
|
|
| **130-I** | Claude | Vertalingen (P1-17-patroon: globe per widget) |
|
|
|
| **130-J** | Bob | Echte doorloop met een Facebook- én een Google-account op een profile-build. Claude kan dit niet — geen wachtwoorden |
|