2009-05-22 9 views
0

Je développe une application Twitter sur OAuth et je souhaite pouvoir publier des mises à jour dans le futur.Peut-on utiliser OAuth pour planifier des mises à jour de statut Twitter dans le futur?

Le plan de base consiste à exécuter un script toutes les heures et à rechercher les mises à jour qui doivent être publiées, puis à authentifier l'utilisateur approprié et à utiliser l'appel API status/update.

Cependant, je ne sais pas comment je peux utiliser OAuth pour cela. Je ne veux évidemment pas stocker leur nom d'utilisateur et mot de passe - cela va à l'encontre de l'objet d'utiliser OAuth dans la première instance.

Si, cependant, c'est la seule option, alors comment puis-je ne pas stocker une copie en clair de leur mot de passe, mais toujours les authentifier?

Répondre

1

Avec OAuth, vous n'avez besoin des informations d'identification de l'utilisateur que pour obtenir le jeton oauth. Une fois que vous avez le jeton oauth, vous utilisez le jeton oauth à la place de ces informations d'identification. Le seul problème dans les appels ultérieurs sous OAuth est tout TTL (time-to-live) associé au jeton du côté service. Twitter does not apparently expire tokens, donc une fois que vous avez un jeton valide, vous devriez être en mesure de continuer à faire des appels au nom de l'utilisateur. Les seules fois où vous devez obtenir des informations d'identification de l'utilisateur sont (1) dans les étapes initiales d'exécution de l'application ou (2) si la session de l'utilisateur devient invalide pour une raison quelconque (mot de passe modifié, invalidation de la session par l'utilisateur, etc.). Pour plus de détails, consultez le OAuth spec.

Notez que si vous souhaitez utiliser le même jeton d'utilisateur entre les invocations de votre application, vous devez être prêt à chiffrer le jeton et à le stocker de manière sécurisée. Si quelqu'un capture votre clé et votre secret de consommateur, ainsi que le jeton de l'utilisateur, l'identité de l'utilisateur peut être compromise.

Questions connexes