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;