diff --git a/flutter/lib/models/user_model.dart b/flutter/lib/models/user_model.dart index 18f409608..ebed47587 100644 --- a/flutter/lib/models/user_model.dart +++ b/flutter/lib/models/user_model.dart @@ -167,8 +167,20 @@ class UserModel { try { final url = await bind.mainGetApiServer(); if (url.trim().isEmpty) return []; - final resp = await http.get(Uri.parse('$url/api/oidc/login-options')); - return jsonDecode(resp.body); + final resp = await http.get(Uri.parse('$url/api/login-options')); + final List ops = []; + for (final item in jsonDecode(resp.body)) { + ops.add(item as String); + } + for (final item in ops) { + if (item.startsWith('common-oidc/')) { + return jsonDecode(item.substring('common-oidc/'.length)); + } + } + return ops + .where((item) => item.startsWith('oidc/')) + .map((item) => {'name': item.substring('oidc/'.length)}) + .toList(); } catch (e) { debugPrint( "queryOidcLoginOptions: jsonDecode resp body failed: ${e.toString()}");