Merge pull request #2177 from famedly/krille/discover-auth-metadata
feat: (BREAKING) Discover OIDC auth metadata on Client.checkHomeserver()
This commit is contained in:
commit
dceaf6c3e3
|
|
@ -515,6 +515,7 @@ class Client extends MatrixApi {
|
||||||
DiscoveryInformation?,
|
DiscoveryInformation?,
|
||||||
GetVersionsResponse versions,
|
GetVersionsResponse versions,
|
||||||
List<LoginFlow>,
|
List<LoginFlow>,
|
||||||
|
GetAuthMetadataResponse? authMetadata,
|
||||||
)> checkHomeserver(
|
)> checkHomeserver(
|
||||||
Uri homeserverUrl, {
|
Uri homeserverUrl, {
|
||||||
bool checkWellKnown = true,
|
bool checkWellKnown = true,
|
||||||
|
|
@ -554,7 +555,20 @@ class Client extends MatrixApi {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (wellKnown, versions, loginTypes);
|
GetAuthMetadataResponse? authMetadata;
|
||||||
|
if (versions.versions.any(
|
||||||
|
(v) => isVersionGreaterThanOrEqualTo(v, 'v1.16'),
|
||||||
|
)) {
|
||||||
|
try {
|
||||||
|
authMetadata = await getAuthMetadata();
|
||||||
|
} on MatrixException catch (e, s) {
|
||||||
|
if (e.error != MatrixError.M_UNRECOGNIZED) {
|
||||||
|
Logs().w('Unable to discover OIDC auth metadata.', e, s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (wellKnown, versions, loginTypes, authMetadata);
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
homeserver = null;
|
homeserver = null;
|
||||||
rethrow;
|
rethrow;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue