Feature 11034: Forgot Password in OSM
Change-Id: I7df89b691f994a4bdf089f1a2677ab61f46b6838
Signed-off-by: jegan <jegan.s@tataelxsi.co.in>
diff --git a/osm_nbi/auth.py b/osm_nbi/auth.py
index a30f60c..7da45db 100644
--- a/osm_nbi/auth.py
+++ b/osm_nbi/auth.py
@@ -544,10 +544,25 @@
raise
def new_token(self, token_info, indata, remote):
- new_token_info = self.backend.authenticate(
- credentials=indata,
- token_info=token_info,
- )
+ if indata.get("email_id"):
+ return self.backend.send_email(indata)
+ else:
+ if indata.get("otp"):
+ otp_validation = self.backend.validate_otp(indata)
+ if otp_validation.get("password_change"):
+ new_token_info = self.backend.authenticate(
+ credentials=indata,
+ token_info=token_info,
+ )
+ new_token_info["otp"] = "valid"
+ else:
+ otp_validation["otp"] = "invalid"
+ return otp_validation
+ else:
+ new_token_info = self.backend.authenticate(
+ credentials=indata,
+ token_info=token_info,
+ )
new_token_info["remote_port"] = remote.port
if not new_token_info.get("expires"):