我正在使用OAuth在我的网站上添加用户身份验证。我使用Twitter作为验证的网站。
当我在Twitter网站上接受应用程序时,我被完美地反弹回我的网站。然后我需要对返回的Tokens
做点什么。看看一些演示代码,代码将response.Token
和response.TokenSecret
存储在内存中(不推荐这样做)。建议将它们存储在数据库或某些持久性存储位置中。
为什么?
它们的用途是什么?
它们是否与任何用户相关联?我不明白工作流程和用户之间的关系。
谢谢:)
如果你的应用程序需要访问用户受保护的Twitter资源,它将不得不使用用户的info(访问令牌&令牌秘密)以及应用程序的信息(消费者密钥和消费者秘密)。如果您将用户信息存储在持久存储空间中,并与世界共享此信息和您的消费者秘密,那么恶意黑客就可以向您的用户帐户发送垃圾邮件。
一个安全的系统应该向你保证
- 保密性-没有人在传输中读取您的通信
- 完整性——没有人在你检测不到的情况下破坏你的信息。
- 认证——消息的发送者不是冒名顶替者
——免责声明:我不知道细节,这是不权威的——
发送消息(包括OAuth协议消息)的SSL/TLS有助于1和2,并对服务提供者(证书)进行身份验证。令牌和令牌秘密对有助于使用公钥加密对您进行身份验证。令牌秘密确保只有消费者应用程序可以解码消息。
如果有一个函数verify(token,tok_secret) tok_secret永远不会被发送,只用于在客户端解码/验证应答。
http://computer.howstuffworks.com/encryption3.htm http://en.wikipedia.org/wiki/Public-key_cryptography