2009-10-13 7 views
4

J'ai un dilemme où stocker les jetons secrets que je reçois de twitter.Twitter Oauth avec ASP.NET MVC, où stocker jeton secret

Options:

a. Mettez-le dans FormsAuthenticationTicket, cryptez-le et placez-le dans un cookie. Est-ce assez sécurisé?

b. Mettre en session et de mettre en user_name FormsAuthentciation

FormsAuthentication.SetAuthCookie(String.Concat("<em>", screen_name, "</em>"), true); 

De cette façon, je dois vérifier si les cookies secrets existent en session d'abord.

c. Stockez les cookies secrets dans la base de données et stockez le nom d'utilisateur dans les cookies comme b.

Lequel recommandez-vous et pourquoi?

Merci beaucoup!

Répondre

3

Étant donné que le jeton n'expire pas et que votre application est considérée comme autorisée pour ce compte d'utilisateur, vous devez stocker le jeton dans quelque chose qui dure plus longtemps qu'une session.

Dans ce cas, je le stockerais dans une base de données associée au nom d'utilisateur.

+0

Je suis d'accord. Stocker dans la base de données avec le nom d'utilisateur, le jeton et le secret de jeton. –

0

Je ne préfère pas stocker 'nom d'utilisateur' avec un jeton, car le nom d'utilisateur est en fait le nom d'écran que vous obtenez à travers xml, et on peut facilement le changer. Pourquoi ne pas stocker 'id d'utilisateur' avec le token?