mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2024-12-24 20:14:53 +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}))
|
new StartOIDCLoginViewModel(this.childOptions({loginOptions: this._loginOptions}))
|
||||||
);
|
);
|
||||||
this.emitChange("startOIDCLoginViewModel");
|
this.emitChange("startOIDCLoginViewModel");
|
||||||
this._startOIDCLoginViewModel.discover();
|
try {
|
||||||
|
await this._startOIDCLoginViewModel.discover();
|
||||||
|
} catch (err) {
|
||||||
|
this._showError(err.message);
|
||||||
|
this._disposeViewModels();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private _showError(message: string): void {
|
private _showError(message: string): void {
|
||||||
|
@ -41,8 +41,18 @@ export class StartOIDCLoginViewModel extends ViewModel {
|
|||||||
|
|
||||||
async discover() {
|
async discover() {
|
||||||
// Ask for the metadata once so it gets discovered and cached
|
// Ask for the metadata once so it gets discovered and cached
|
||||||
|
try {
|
||||||
await this._api.metadata()
|
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();
|
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() {
|
async startOIDCLogin() {
|
||||||
|
Loading…
Reference in New Issue
Block a user