<p>Annoyingly Facebook and MS Live accounts do not implement OpenID which is the correct way to do authentication. Therefore they are not covered by the existing implementation of third party authentication. Imho they are, however, important enough to (reluctantly) warrant some special casing to support them and make it easier for new users to create an OpenStreetMap account.</p>

<p>This implementation uses the OAuth2 standard to retrieve user information from either Facebook or a Windows Live account that can then be used for authentication. It reuses a lot of the openID infrastructure to simplify the code and minimize the special casing.</p>

<p>As it uses OAuth2 and OAuth requires applications to register with the provider, the website needs to be<br>
registered with Facebook and MS Live to use this feature. The oauth app id and app secret are stored<br>
in application.yml</p>

<hr>

<h4>You can merge this Pull Request by running:</h4>
<pre>  git pull https://github.com/apmon/openstreetmap-website facebook-login</pre>
<p>Or view, comment on, or merge it at:</p>
<p>  <a href='https://github.com/openstreetmap/openstreetmap-website/pull/153'>https://github.com/openstreetmap/openstreetmap-website/pull/153</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Add login with facebook and MS live</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li><strong>A</strong> app/assets/images/facebook.png (0)</li>
  <li><strong>A</strong> app/assets/images/live.png (0)</li>
  <li><strong>M</strong> app/controllers/user_controller.rb (171)</li>
  <li><strong>M</strong> app/views/user/account.html.erb (2)</li>
  <li><strong>M</strong> app/views/user/login.html.erb (4)</li>
  <li><strong>M</strong> app/views/user/new.html.erb (2)</li>
  <li><strong>M</strong> config/example.application.yml (7)</li>
  <li><strong>M</strong> config/initializers/oauth.rb (1)</li>
  <li><strong>M</strong> config/locales/en.yml (6)</li>
</ul>

<h4>Patch Links</h4>
<ul>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/153.patch'>https://github.com/openstreetmap/openstreetmap-website/pull/153.patch</a></li>
  <li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/153.diff'>https://github.com/openstreetmap/openstreetmap-website/pull/153.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/153'>view it on GitHub</a>.
            </p>
            <img src='https://github.com/notifications/beacon/J6T91GIPIyhU-8ti4GCGP98_UZTRAhtyIjAjorWDZ_kf9PxiCZ0YfORfGbhZCMCd.gif' height='1' width='1'>