anchor.diff:          <input <%= 'type=email' if @login_handle_is_email %> name="pseudonym_session[unique_id]" value="<%= params[:pseudonym_session].try(:[], :unique_id) %>" placeholder="<%= @login_handle_name %>">
           <input type="password" name="pseudonym_session[password]" placeholder="<%= t :password, "Password" %>">
           <button type="submit"><%= t('login', 'Login') %></button>
  -        <button class="flip-to-back"><%= t('dont_know_password', "I don't know my password") %></button>
  +        <% if url = params[:canvas_login].blank? && @domain_root_account.try(:forgot_password_external_url) %>
  +          <%= link_to t('dont_know_password', "I don't know my password"), url, :class => 'button forgot-password' %>
  +        <% else %>
  +          <button class="flip-to-back"><%= t('dont_know_password', "I don't know my password") %></button>
  +        <% end %>
         <% end %>
         <% form_for :pseudonym_session, :url => forgot_password_path, :html => {:id => "forgot_password_form", :class => 'back face'} do |f| %>
           <label for="pseudonym_session_unique_id_forgot"><%= t('login_handle', "Enter your %{login_handle_name} and we'll send you a link to change your password.", :login_handle_name => @login_handle_name) %></label>
  
positive.code:       margin: 20px 13px;
  
      }
      .flip-to-back, .flip-to-front {
        background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #262626), color-stop(100%, #404141));
        color: #c2c2c2;
        margin-top: 30px;
  
negative.code:   var eventToBindTo = ('ontouchstart' in window) ? 'touchstart' : 'click';
  
    document.addEventListener('DOMContentLoaded', function(){
      var $front_back_container = document.querySelector('#f1_container'),
          $flip_to_back         = document.querySelector('.flip-to-back');
  
      if ($flip_to_back) {
        $flip_to_back.addEventListener(eventToBindTo, function(event){
          event.preventDefault();
          addClass($front_back_container, 'flipped');
        });
      }
  
      document.querySelector('.flip-to-front').addEventListener(eventToBindTo, function(event){
        event.preventDefault();
  