mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2024-12-24 12:04:57 +01:00
Improve error handling for OIDC discovery and registration
This commit is contained in:
parent
778900d0b2
commit
97bea400f6
@ -117,7 +117,12 @@ export class LoginViewModel extends ViewModel {
|
||||
new StartOIDCLoginViewModel(this.childOptions({loginOptions: this._loginOptions}))
|
||||
);
|
||||
this.emitChange("startOIDCLoginViewModel");
|
||||
this._startOIDCLoginViewModel.discover();
|
||||
try {
|
||||
await this._startOIDCLoginViewModel.discover();
|
||||
} catch (err) {
|
||||
this._showError(err.message);
|
||||
this._disposeViewModels();
|
||||
}
|
||||
}
|
||||
|
||||
_showError(message) {
|
||||
|
@ -41,8 +41,18 @@ export class StartOIDCLoginViewModel extends ViewModel {
|
||||
|
||||
async discover() {
|
||||
// Ask for the metadata once so it gets discovered and cached
|
||||
await this._api.metadata()
|
||||
await this._api.registration();
|
||||
try {
|
||||
await this._api.metadata()
|
||||
} catch (err) {
|
||||
this.logger.log("Failed to discover OIDC metadata: " + err);
|
||||
throw new Error("Failed to discover OIDC metadata: " + err.message );
|
||||
}
|
||||
try {
|
||||
await this._api.registration();
|
||||
} catch (err) {
|
||||
this.logger.log("Failed to register OIDC client: " + err);
|
||||
throw new Error("Failed to register OIDC client: " + err.message );
|
||||
}
|
||||
}
|
||||
|
||||
async startOIDCLogin() {
|
||||
|
Loading…
Reference in New Issue
Block a user