feat(mobile): ios selfhost server support (#11563)

This commit is contained in:
CatsJuice
2025-04-14 01:13:23 +00:00
parent e1cb8198f1
commit d6b4ee8172
9 changed files with 363 additions and 73 deletions

View File

@@ -41,8 +41,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/swiftlang/swift-cmark",
"state" : {
"revision" : "3ccff77b2dc5b96b77db3da0d68d28068593fa53",
"version" : "0.5.0"
"revision" : "b022b08312decdc46585e0b3440d97f6f22ef703",
"version" : "0.6.0"
}
},
{

View File

@@ -41,8 +41,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/swiftlang/swift-cmark",
"state" : {
"revision" : "3ccff77b2dc5b96b77db3da0d68d28068593fa53",
"version" : "0.5.0"
"revision" : "b022b08312decdc46585e0b3440d97f6f22ef703",
"version" : "0.6.0"
}
},
{

View File

@@ -1,14 +1,14 @@
PODS:
- Capacitor (7.2.0):
- CapacitorCordova
- CapacitorApp (7.0.0):
- CapacitorApp (7.0.1):
- Capacitor
- CapacitorBrowser (7.0.0):
- CapacitorBrowser (7.0.1):
- Capacitor
- CapacitorCordova (7.2.0)
- CapacitorHaptics (7.0.0):
- CapacitorHaptics (7.0.1):
- Capacitor
- CapacitorKeyboard (7.0.0):
- CapacitorKeyboard (7.0.1):
- Capacitor
- CryptoSwift (1.8.3)
@@ -41,11 +41,11 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Capacitor: 106e7a4205f4618d582b886a975657c61179138d
CapacitorApp: 45cb7cbef4aa380b9236fd6980033eb5cde6fcd2
CapacitorBrowser: 352a66541b15ceadae1d703802b11979023705e3
CapacitorApp: d63334c052278caf5d81585d80b21905c6f93f39
CapacitorBrowser: 081852cf532acf77b9d2953f3a88fe5b9711fb06
CapacitorCordova: 5967b9ba03915ef1d585469d6e31f31dc49be96f
CapacitorHaptics: 1fba3e460e7614349c6d5f868b1fccdc5c87b66d
CapacitorKeyboard: 2c26c6fccde35023c579fc37d4cae6326d5e6343
CapacitorHaptics: 70e47470fa1a6bd6338cd102552e3846b7f9a1b3
CapacitorKeyboard: 969647d0ca2e5c737d7300088e2517aa832434e2
CryptoSwift: 967f37cea5a3294d9cce358f78861652155be483
PODFILE CHECKSUM: bd61c17ff51f31ae55ec8dc579da83fda7bb51cb

View File

@@ -337,6 +337,7 @@ CapacitorApp.addListener('appUrlOpen', ({ url }) => {
if (urlObj.hostname === 'authentication') {
const method = urlObj.searchParams.get('method');
const payload = JSON.parse(urlObj.searchParams.get('payload') ?? 'false');
const serverBaseUrl = urlObj.searchParams.get('server');
if (
!method ||
@@ -347,9 +348,18 @@ CapacitorApp.addListener('appUrlOpen', ({ url }) => {
return;
}
const authService = frameworkProvider
let authService = frameworkProvider
.get(DefaultServerService)
.server.scope.get(AuthService);
if (serverBaseUrl) {
const serversService = frameworkProvider.get(ServersService);
const server = serversService.getServerByBaseUrl(serverBaseUrl);
if (server) {
authService = server.scope.get(AuthService);
}
}
if (method === 'oauth') {
authService
.signInOauth(payload.code, payload.state, payload.provider)