mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2024-12-23 19:45:05 +01:00
Improve error handling for OIDC discovery and registration
This commit is contained in:
parent
83843f62b1
commit
87bbba0253
@ -172,7 +172,12 @@ export class LoginViewModel extends ViewModel<SegmentType, Options> {
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
private _showError(message: string): void {
|
||||
|
@ -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