Use password expiration date to remind users to change their password prior it expires

Registered by Juan Pablo lopez Gutierrez

Summary
=========
Have a configurable setting that if enabled will alert user to change his password before it expires.

Motivation
==========
A new feature was added in keystone that allows to define how many days the user's password is going to be valid before it expires. Horizon needs to have a configurable setting that will alert users to change their passwords before the final date.

Description
==========
There will be a configuration setting that will be set in the local_settings.py file: PASSWORD_EXPIRES_WARNING_THRESHOLD_DAYS = 7. If the value exists, an alert will be displayed to the user every time he signs in only if the defined amount of days in "PASSWORD_EXPIRES_WARNING_THRESHOLD_DAYS" falls between the current date and the expiration date. Once the password has expired, a normal user will need to contact an admin in order to change his password and log in again.

UX
===
Alert the user to change the password before it expires, otherwise he will not be able to log in.

Wireframes, Mocks,Videos and UI Markups
=====================================
If the PASSWORD_EXPIRES_WARNING_THRESHOLD_DAYS variable exists the expiration date of the user's password will be monitored.

Outside Dependencies
====================
Collect information about the expiration_date feature in keystone.

Doc impact
==========
An integer that will define the threshold days before the password expires needs to be added with the name of PASSWORD_EXPIRES_WARNING_THRESHOLD_DAYS. The user will be reminded to change his password. The password will need to be changed every certain amount of days to avoid the account to be disabled when the feature is enabled in keystone. Need to document this behavior.
Release note item also needs to be added.

Blueprint information

Status:
Complete
Approver:
David Lyle
Priority:
Low
Drafter:
Juan Pablo lopez Gutierrez
Direction:
Approved
Assignee:
Juan Pablo lopez Gutierrez
Definition:
Approved
Series goal:
Accepted for 12.0.0-pike
Implementation:
Implemented
Milestone target:
milestone icon pike-3
Started by
David Lyle
Completed by
Rob Cresswell

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/password-expires-validation,n,z

Addressed by: https://review.openstack.org/370973 -- MERGED
    Implement expiration date alert message

Addressed by:https://review.openstack.org/369652 -- MERGED
   Implement expiration date alert message

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.