diff --git a/console-webapp/src/app/settings/security/eppPasswordEdit.component.html b/console-webapp/src/app/settings/security/eppPasswordEdit.component.html
index 6bd1ba11d..97a9c7120 100644
--- a/console-webapp/src/app/settings/security/eppPasswordEdit.component.html
+++ b/console-webapp/src/app/settings/security/eppPasswordEdit.component.html
@@ -77,4 +77,17 @@
Save
+ @if(userDataService.userData()?.isAdmin) {
+
+
Need to reset your EPP password?
+
+
+ }
diff --git a/console-webapp/src/app/settings/security/eppPasswordEdit.component.scss b/console-webapp/src/app/settings/security/eppPasswordEdit.component.scss
index aaaacf125..7b77a5e57 100644
--- a/console-webapp/src/app/settings/security/eppPasswordEdit.component.scss
+++ b/console-webapp/src/app/settings/security/eppPasswordEdit.component.scss
@@ -1,16 +1,35 @@
-.settings-security__edit-password {
- max-width: 616px;
- &-field {
- width: 100%;
- mat-form-field {
- margin-bottom: 20px;
+// Copyright 2025 The Nomulus Authors. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+.settings-security {
+ &__edit-password {
+ max-width: 616px;
+ &-field {
width: 100%;
+ mat-form-field {
+ margin-bottom: 20px;
+ width: 100%;
+ }
+ }
+ &-form {
+ margin-top: 30px;
+ }
+ &-save {
+ margin-top: 30px;
}
}
- &-form {
- margin-top: 30px;
- }
- &-save {
- margin-top: 30px;
+ &__reset-password-field {
+ margin-top: 60px;
}
}
diff --git a/console-webapp/src/app/settings/security/eppPasswordEdit.component.ts b/console-webapp/src/app/settings/security/eppPasswordEdit.component.ts
index 5675da747..73221b829 100644
--- a/console-webapp/src/app/settings/security/eppPasswordEdit.component.ts
+++ b/console-webapp/src/app/settings/security/eppPasswordEdit.component.ts
@@ -24,11 +24,43 @@ import {
import { MatSnackBar } from '@angular/material/snack-bar';
import { RegistrarService } from 'src/app/registrar/registrar.service';
import { SecurityService } from './security.service';
+import { UserDataService } from 'src/app/shared/services/userData.service';
+import { MatDialog, MatDialogRef } from '@angular/material/dialog';
+import { CommonModule } from '@angular/common';
+import { MaterialModule } from 'src/app/material.module';
+import { filter, switchMap, take } from 'rxjs';
+import { BackendService } from 'src/app/shared/services/backend.service';
type errorCode = 'required' | 'maxlength' | 'minlength' | 'passwordsDontMatch';
type errorFriendlyText = { [type in errorCode]: String };
+@Component({
+ selector: 'app-reset-epp-password-dialog',
+ template: `
+