Je veux créer un cookie sécurisé et le signer avec le secret de mon application Facebook que je connais, selon Facebook signed_request. J'ai déjà mis en œuvre un Ruby method that decodes the signed_request sent by Facebook.Facebook Toile d'authentification avec Sinatra: Cookie signé (avec Rack)
Cela fonctionne, mais maintenant, comme le fait runwithfriends, je veux renvoyer au client un cookie qui utilise la même procédure de signature. Je regardais à travers le rack source code, et il semble qu'il offre cette fonctionnalité.
Je me demande toutefois comment faire cela dans Sinatra. Il ressemble à set_cookie
est un emballage autour de set_cookie_headers
, qui ne semble pas accepter un secret. Donc, je pense que je dois le faire avec Rack. Je vais essayer cela et rendre compte.
En attendant, le Sinatra Book dit qu'il fournit des cookies basés sur la session.
Alors, quelle est alors la différence entre un cookie:
set_cookie("u", 123)
ou définir une variable de session:
session["u"] = 123
je me suis retrouvé à creuser à travers le Sinatra & code source Rack. J'ai une idée. Je pense qu'ils sont à peu près les mêmes à part certaines fonctionnalités par défaut.