diff --git a/src/auth/ha-auth-flow.ts b/src/auth/ha-auth-flow.ts index d1b678e31e..6f4e2a1367 100644 --- a/src/auth/ha-auth-flow.ts +++ b/src/auth/ha-auth-flow.ts @@ -162,6 +162,11 @@ class HaAuthFlow extends litLocalizeLiteMixin(LitElement) { this._errorMessage )} +
+ + ${this.localize("ui.panel.page-authorize.form.start_over")} + +
`; case "loading": return html` @@ -339,6 +344,10 @@ class HaAuthFlow extends litLocalizeLiteMixin(LitElement) { return this.localize("ui.panel.page-authorize.form.unknown_error"); } + private _startOver() { + this._providerChanged(this.authProvider); + } + private async _handleSubmit(ev: Event) { ev.preventDefault(); if (this._step == null) { @@ -361,6 +370,12 @@ class HaAuthFlow extends litLocalizeLiteMixin(LitElement) { const newStep = await response.json(); + if (response.status === 403) { + this._state = "error"; + this._errorMessage = newStep.message; + return; + } + if (newStep.type === "create_entry") { this._redirect(newStep.result); return;