    # File lib/ramaze/helper/identity.rb, line 39
          def openid_begin
            # The OpenID URL pointing to a user's OpenID page,
            # for example: http://username.myopenid.com)
            url = request['url']
            redirect_referrer if url.to_s.empty?
            session[:openid] ||= {}
            session[:openid][:entry] = request.referrer

            openid_request = openid_consumer.begin(url)

            # We want these communications to be a secure as the server can
            # support!
            papereq = OpenID::PAPE::Request.new
            papereq.add_policy_uri(OpenID::PAPE::AUTH_PHISHING_RESISTANT)
            papereq.max_auth_age = 2*60*60
            openid_request.add_extension(papereq)

            # Request information about the person
            sregreq = OpenID::SReg::Request.new
            sregreq.request_fields(['fullname', 'nickname', 'dob', 'email',
                                   'gender', 'postcode', 'country', 'language',
                                   'timezone'])
            openid_request.add_extension(sregreq)
            openid_request.return_to_args['did_pape'] = 'y'

            root      = "http://#{request.http_host}/"
            return_to = request.domain(rs(:openid_complete)).to_s
            immediate = false

            if openid_request.send_redirect?(root, return_to, immediate)
              redirect_url =
                openid_request.redirect_url(root, return_to, immediate)
              raw_redirect redirect_url
            else
              # what the hell is @form_text ?
            end

          rescue OpenID::OpenIDError => ex
            flash[:error] = "Discovery failed for #{url}: #{ex}"
            raw_redirect rs(:/)
          end