<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/open_id_authentication/request.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,5 @@
+* Fake HTTP method from OpenID server since they only support a GET. Eliminates the need to set an extra route to match the server's reply. [Josh Peek]
+
 * OpenID 2.0 recommends that forms should use the field name &quot;openid_identifier&quot; rather than &quot;openid_url&quot; [Josh Peek]
 
 * Return open_id_response.display_identifier to the application instead of .endpoints.claimed_id. [nbibler]</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -68,7 +68,6 @@ Use the above code in your User model and validate OpenID URLs before saving the
 config/routes.rb
 
   map.root :controller =&gt; 'articles'
-  map.open_id_complete 'session', :controller =&gt; &quot;sessions&quot;, :action =&gt; &quot;create&quot;, :requirements =&gt; { :method =&gt; :get }
   map.resource :session
 
 </diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ require 'openid/store/filesystem'
 
 require File.dirname(__FILE__) + '/open_id_authentication/db_store'
 require File.dirname(__FILE__) + '/open_id_authentication/mem_cache_store'
+require File.dirname(__FILE__) + '/open_id_authentication/request'
 require File.dirname(__FILE__) + '/open_id_authentication/timeout_fixes' if OpenID::VERSION == &quot;2.0.4&quot;
 
 module OpenIdAuthentication
@@ -85,18 +86,13 @@ module OpenIdAuthentication
 
     # The parameter name of &quot;openid_identifier&quot; is used rather than the Rails convention &quot;open_id_identifier&quot;
     # because that's what the specification dictates in order to get browser auto-complete working across sites
-    def using_open_id?(identity_url = params[:openid_identifier]) #:doc:
-      if params.has_key?(:openid_url)
-        puts '[OPENID] The conventional field name has changed from &quot;openid_url&quot; to &quot;openid_identifier&quot;'
-      end
-
+    def using_open_id?(identity_url = nil) #:doc:
+      identity_url ||= params[:openid_identifier] || params[:openid_url]
       !identity_url.blank? || params[:open_id_complete]
     end
 
-    def authenticate_with_open_id(identity_url = params[:openid_identifier], options = {}, &amp;block) #:doc:
-      if params.has_key?(:openid_url)
-        puts '[OPENID] The conventional field name has changed from &quot;openid_url&quot; to &quot;openid_identifier&quot;'
-      end
+    def authenticate_with_open_id(identity_url = nil, options = {}, &amp;block) #:doc:
+      identity_url ||= params[:openid_identifier] || params[:openid_url]
 
       if params[:open_id_complete].nil?
         begin_open_id_authentication(identity_url, options, &amp;block)
@@ -108,10 +104,12 @@ module OpenIdAuthentication
   private
     def begin_open_id_authentication(identity_url, options = {})
       identity_url = normalize_url(identity_url)
-      return_to = options.delete(:return_to)
+      return_to    = options.delete(:return_to)
+      method       = options.delete(:method)
+
       open_id_request = open_id_consumer.begin(identity_url)
       add_simple_registration_fields(open_id_request, options)
-      redirect_to(open_id_redirect_url(open_id_request, return_to))
+      redirect_to(open_id_redirect_url(open_id_request, return_to, method))
     rescue OpenIdAuthentication::InvalidOpenId =&gt; e
       yield Result[:invalid], identity_url, nil
     rescue OpenID::OpenIDError, Timeout::Error =&gt; e
@@ -149,7 +147,8 @@ module OpenIdAuthentication
       open_id_request.add_extension(sreg_request)
     end
 
-    def open_id_redirect_url(open_id_request, return_to = nil)
+    def open_id_redirect_url(open_id_request, return_to = nil, method = nil)
+      open_id_request.return_to_args['_method'] = (method || request.method).to_s
       open_id_request.return_to_args['open_id_complete'] = '1'
       open_id_request.redirect_url(root_url, return_to || requested_url)
     end</diff>
      <filename>lib/open_id_authentication.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2c4d86d7fd2db200ff52c9e48f8811643b7e0c6f</id>
    </parent>
  </parents>
  <author>
    <name>Joshua Peek</name>
    <email>josh@joshpeek.com</email>
  </author>
  <url>http://github.com/rails/open_id_authentication/commit/3382bc49d6c1e6448f67c54e8c2ab059a051a155</url>
  <id>3382bc49d6c1e6448f67c54e8c2ab059a051a155</id>
  <committed-date>2008-08-21T15:44:09-07:00</committed-date>
  <authored-date>2008-08-21T15:44:09-07:00</authored-date>
  <message>Fake HTTP method from OpenID server since they only support a GET. Eliminates the need to set an extra route to match the server's reply.</message>
  <tree>815d581bc7d908a38a502094d26fef179d33e708</tree>
  <committer>
    <name>Joshua Peek</name>
    <email>josh@joshpeek.com</email>
  </committer>
</commit>
