packages/ssoinabox-webui/root/usr/local/share/weblogin/ssoinabox/templates/pwchange.tmpl
author Dan Fuhry <dan@fuhry.us>
Fri, 11 Jan 2013 00:32:54 -0500
changeset 3 a044870a9d3d
parent 0 3906ca745819
permissions -rw-r--r--
Added password reset function

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <http-equiv="pragma" content="no-cache">
    <title>WebAuth Password Change</title>
  </head>

  [% IF notdefined %]
<!--
This is the template for the WebAuth password change page.  This page is
called from pwchange.fcgi script on the weblogin server.  It displays a form
asking the user for username, current password, and two prompts for the
new password (for confirmation).  Variables used:

error                  : some error occurred
err_username           : no username error
err_password           : no old password error
err_newpassword        : no new password error
err_newpassword_match  : new passwords do not match
err_loginfailed        : username and password were incorrect
err_rejected           : username not permitted to authenticate
err_pwweak             : password changed for the password being too weak
err_pwchange           : actual password change failed (see err_msg for why)
err_msg                : extra text describing an error
RT                     : Response Token
ST                     : Service Token
CPT                    : kadmin/changepw Token
skip_username          : suppress display of an entry box for the username
username               : the username
password               : the old password
new_passwd1            : the new password (first)
new_passwd2            : the new password (second)
changepw               : set to show this is not our first visit
expired                : set when sent here for expired password login fail
-->
  [% END %]

  <body onload="document.pwchange.username.focus();">
    <h1 align="center">WebAuth Password Change</h1>
    [% IF error %]
      <div class="error" align="center">
        <p><strong>
          [% IF err_username && err_password %]
            <!-- Error: no username or password submitted. -->
            Error: Enter your username and password.
          [% ELSIF err_username %]
            <!-- Error: no username submitted. -->
            Error: Enter your username.
          [% ELSIF err_password %]
            <!-- Error: no password submitted. -->
            Error: Enter your password.
          [% END %]
          [% IF err_newpassword %]
            <!-- Error: at least one of the new password fields was empty. -->
            Error: Enter your new password twice.
          [% END %]
          [% IF err_newpassword_match %]
            <!-- Error: new passwords do not match. -->
            Error: The two entries for your new password must match.
          [% END %]

          [% IF err_loginfailed %]
            <!-- Error: login failed. -->
            Error: You entered an incorrect username or password (or both).
          [% END %]

          [% IF err_rejected %]
            <!-- Error: user principal rejected. -->
            Error: That username may not authenticate to this service.
          [% END %]

          [% IF err_pwweak %]
            <!-- Error: password was too weak. -->
            Error: The password given failed strength checking.
            Please enter a more difficult password not based on a dictionary
            word.
          [% END %]

          [% IF err_pwchange %]
            <!-- Error: password change attempted, failed. -->
            Error: [% err_msg %].
          [% END %]

        </strong></p>
        <p>Click <a href="/help.html">help</a> for assistance.</p>
      </div>
    [% END %]

    <div class="loginbox" align="center">
      <table border="1" width="70%">
        [% IF success %]
          <tr>
            <td><img alt="Confirm" src="/images/confirm.png"
                     width="160" height="160"/></td>
            <td>
              <div class="logintext">
                <p>You have successfully changed your password.</p>
                <p><strong>Protect your assets:</strong><br/>
                   Quit your web browser when you are finished (see below
                   for more details)</p>
              </div>
            </td>
          </tr>
        [% ELSE %]
          <tr>
            <td><img alt="Login" src="/images/login.png"
                     width="160" height="160"/></td>
            <td>
              <div class="loginform">
                <form name="pwchange"
                      action="[% script_name FILTER html %]"
                      method="post" autocomplete="OFF"
                      enctype="application/x-www-form-urlencoded">
                  <input type="hidden" name="rm" value="pwchange">
                  <input type="hidden" name="RT"
                         value="[% RT FILTER html %]">
                  <input type="hidden" name="ST"
                         value="[% ST FILTER html %]">
                  <input type="hidden" name="CPT"
                         value="[% CPT FILTER html %]">
                  <input type="hidden" name="changepw" value="yes">
                  <input type="hidden" name="expired"
                         value="[% expired FILTER html %]">
                  [% IF skip_username %]
                    <input type="hidden" name="username"
                           value="[% username FILTER html %]">
                    <input type="hidden" name="skip_username" value="1">
                  [% END %]
                  <table>
                    [% UNLESS skip_username %]
                      <tr>
                        <td><strong>Username:</strong></td>
                        <td><input name="username" type="text"
                                   value="[% username FILTER html %]"
                                   size="18"><br/></td>
                      </tr>
                    [% END %]
                    [% UNLESS skip_password %]
                      <tr>
                        <td><strong>Old Password:</strong></td>
                        <td><input name="password" type="password" size="18"></td>
                      </tr>
                    [% END %]
                    <tr>
                      <td><strong>New Password (enter twice):</strong></td>
                      <td>
                          <input name="new_passwd1" type="password" size="18"><br/>
                          <input name="new_passwd2" type="password" size="18">
                      </td>
                    </tr>
                    <tr>
                      <td colspan="2" align="right">
                        <input type="submit" name="Submit" value="Change Password">
                      </td>
                    </tr>
                  </table>
                </form>
              </div>
              <div class="loginlinks">
                <a href="/help.html">help</a>
              </div>
            </td>
          </tr>
        [% END %]
      </table>
    </div>

    <div class="trailer">
      <h2>Caution:</h2>

      <p>Never enter your WebAuth username and password on a web page
      unless the page is a page directly served by the WebAuth login
      server.</p>
    </div>
  </body>
</html>