<p>This switches our OpenID authentication to use OmniAuth instead of the open_id_authentication plugin, and prepares things for the addition of other authentication providers.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/openstreetmap/openstreetmap-website/pull/906'>https://github.com/openstreetmap/openstreetmap-website/pull/906</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Convert openid authentication to use omniauth</li>
  <li>Rework openid tests for new flows using omniauth mocking</li>
  <li>Convert OpenID authentication to generic third party authentication</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-0">Gemfile</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-1">Gemfile.lock</a>
    (50)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-2">app/assets/javascripts/user.js</a>
    (118)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-3">app/assets/stylesheets/common.scss</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-4">app/controllers/user_controller.rb</a>
    (240)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-5">app/helpers/user_helper.rb</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-6">app/models/user.rb</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-7">app/views/user/account.html.erb</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-8">app/views/user/login.html.erb</a>
    (41)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-9">app/views/user/new.html.erb</a>
    (51)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-10">config/initializers/omniauth.rb</a>
    (29)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-11">config/initializers/openid.rb</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-12">config/locales/en.yml</a>
    (23)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-13">config/routes.rb</a>
    (5)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-14">db/migrate/20150222101847_rename_openid_url.rb</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-15">db/structure.sql</a>
    (48)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-16">test/controllers/user_controller_test.rb</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-17">test/fixtures/users.yml</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-18">test/integration/user_creation_test.rb</a>
    (51)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-19">test/integration/user_login_test.rb</a>
    (74)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-20">test/test_helper.rb</a>
    (37)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-21">vendor/gems/rots-0.2.1/.specification</a>
    (112)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-22">vendor/gems/rots-0.2.1/AUTHORS</a>
    (2)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-23">vendor/gems/rots-0.2.1/README</a>
    (64)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-24">vendor/gems/rots-0.2.1/Rakefile</a>
    (125)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-25">vendor/gems/rots-0.2.1/bin/rots</a>
    (99)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-26">vendor/gems/rots-0.2.1/lib/rots.rb</a>
    (11)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-27">vendor/gems/rots-0.2.1/lib/rots/identity_page_app.rb</a>
    (36)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-28">vendor/gems/rots-0.2.1/lib/rots/server_app.rb</a>
    (147)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-29">vendor/gems/rots-0.2.1/lib/rots/test_helper.rb</a>
    (16)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-30">vendor/gems/rots-0.2.1/rots.gemspec</a>
    (31)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-31">vendor/gems/rots-0.2.1/spec/server_app_spec.rb</a>
    (99)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906/files#diff-32">vendor/gems/rots-0.2.1/spec/spec_helper.rb</a>
    (73)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/906.patch'>https://github.com/openstreetmap/openstreetmap-website/pull/906.patch</a></li>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/906.diff'>https://github.com/openstreetmap/openstreetmap-website/pull/906.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/openstreetmap/openstreetmap-website/pull/906">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABWnLcwYjT-Qy0bnzLmvN532KhRqCNcMks5nucqKgaJpZM4Dj6lM.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
    <link itemprop="url" href="https://github.com/openstreetmap/openstreetmap-website/pull/906"></link>
    <meta itemprop="name" content="View Pull Request"></meta>
  </div>
  <meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>