auth: replace password login with OIDC PKCE flow (Phase 5)

- Install expo-auth-session + expo-web-browser
- Add 'bincio-rec' URL scheme to app.json for deep-link redirect
- auth.ts: generate PKCE verifier/challenge, open bincio.org/oauth2/authorize
  in browser, exchange auth code for RS256 id_token, store in AsyncStorage
- SettingsScreen: remove handle/password fields, single 'Sign in with bincio'
  button that opens the browser flow
This commit is contained in:
Davide Scaini
2026-06-03 16:12:15 +02:00
parent 358f3f12c1
commit 27e7f008f0
5 changed files with 304 additions and 80 deletions
+9 -3
View File
@@ -2,6 +2,7 @@
"expo": {
"name": "bincio-rec",
"slug": "bincio-rec",
"scheme": "bincio-rec",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
@@ -12,7 +13,9 @@
"infoPlist": {
"NSLocationWhenInUseUsageDescription": "bincio-rec uses your location to record your activity track.",
"NSLocationAlwaysAndWhenInUseUsageDescription": "bincio-rec uses your location in the background to record your activity track.",
"UIBackgroundModes": ["location"]
"UIBackgroundModes": [
"location"
]
}
},
"android": {
@@ -39,7 +42,9 @@
"web": {
"favicon": "./assets/favicon.png"
},
"ignorePaths": ["CLAUDE.md"],
"ignorePaths": [
"CLAUDE.md"
],
"plugins": [
"expo-sqlite",
[
@@ -56,7 +61,8 @@
"icon": "./assets/icon.png",
"color": "#3b82f6"
}
]
],
"expo-web-browser"
]
}
}