# File lib/openid/consumer.rb, line 347 def complete(query) begin token = @session.delete(@@token_key) rescue token = @session[@@token_key] @session[@@token_key] = nil end if token.nil? resp = FailureResponse.new(nil, 'No session state found.') else resp = @consumer.complete(query, token) end disco = self.get_discovery(resp.identity_url) if [SUCCESS, CANCEL].member?(resp.status) if resp.identity_url resp.service = disco.finish end else resp.service = disco.current end return resp end