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
+4 -1
View File
@@ -9,9 +9,10 @@
"@react-navigation/native": "^7.2.5",
"@react-navigation/native-stack": "^7.16.0",
"expo": "~56.0.8",
"expo-av": "^16.0.8",
"expo-auth-session": "~56.0.13",
"expo-crypto": "^56.0.4",
"expo-file-system": "~56.0.7",
"expo-intent-launcher": "~56.0.4",
"expo-keep-awake": "~56.0.3",
"expo-location": "~56.0.15",
"expo-notifications": "~56.0.15",
@@ -19,12 +20,14 @@
"expo-sqlite": "~56.0.4",
"expo-status-bar": "~56.0.4",
"expo-task-manager": "~56.0.16",
"expo-web-browser": "~56.0.5",
"react": "19.2.3",
"react-native": "0.85.3",
"react-native-ble-plx": "^3.5.1",
"react-native-gesture-handler": "~2.31.1",
"react-native-safe-area-context": "~5.7.0",
"react-native-screens": "4.25.2",
"react-native-svg": "15.15.4",
"zustand": "^5.0.14"
},
"devDependencies": {