# OpenID - errore nel case statement

**URL:** <https://www.ruby-forum.com/t/openid-errore-nel-case-statement/138615>\
**Category:** IT\
**Created:** [May 25, 2008, 11:11pm UTC](https://www.ruby-forum.com/t/openid-errore-nel-case-statement/138615 "2008-05-25T23:11:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![marzapower](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e79b87/32.png) [@marzapower](https://www.ruby-forum.com/u/marzapower)\
**Post date:** [May 25, 2008, 11:11pm UTC](https://www.ruby-forum.com/t/openid-errore-nel-case-statement/138615/1 "2008-05-25T23:11:06Z")

</div>

Vi propongo un simpatico quesito…  
Sto studiando in questi giorni se funzionano bene insieme il  
restful\_authentication l’openid\_authentication. Seguendo un paio di  
guide su internet, ma soprattutto il README del plugin  
openid\_authentication, ho inserito nel controller SessionsController  
questo metodo (modificato con qualche chiamata al logger):

```
def open_id_authentication(identity_url)
  # Pass optional :required and :optional keys to specify what sreg

```

fields you want.  
# Be sure to yield registration, a third argument in the  
#authenticate\_with\_open\_id block.  
logger.debug “Sono dentro il metodo di autenticazione open id”  
authenticate\_with\_open\_id(identity\_url,  
:required =\> [:nickname, :email],  
:optional =\> :fullname) do |status, identity\_url,  
registration|  
logger.debug “Ho ricevuto lo stato #{status}”  
if (status === :successful)  
logger.debug “Qualcosa direi che non va …”  
end  
case status  
when :missing  
logger.debug “Mancato!”  
failed\_login “Sorry, the OpenID server couldn’t be found”  
when :canceled  
logger.debug “Cancellato!”  
failed\_login “OpenID verification was canceled”  
when :failed  
logger.debug “Fallito!”  
failed\_login “Sorry, the OpenID verification failed”  
when :successful  
logger.debug “Andato!”  
if @current\_user =  
@account.users.find\_by\_identity\_url(identity\_url)  
assign\_registration\_attributes!(registration)

```
        if current_user.save
          successful_login
        else
          failed_login "Your OpenID profile registration failed: " +
            @current_user.errors.full_messages.to_sentence
        end
      else
        failed_login "Sorry, no user by that identity URL exists"
      end
    else
      logger.debug "Nessuno dei precedenti"
    end
  end
  logger.debug "Sono fuori dal metodo di autenticazione open id"
end

```

Il problema e` questo: nei log leggo “Qualcosa direi che non va …” e  
poi “Nessuno dei precedenti”. A quanto pare lo statement case si impasta  
da qualche parte, eppure il controllo status === :successful fatto  
appena prima va a buon fine … Qualcuno sa darmi una mano? Grazie mille

-daniele-
