我应该什么时候使用 oauth 或 jwt?
When should I use oauth or jwt?
我目前正在使用 node.js
和 express.js
为框架构建服务器端。对于登录和身份验证机制,我使用 JWT 的用户名和密码。
此服务器用于为许多客户端提供服务,例如 ios、android 和网络应用程序。
那么,对于这种非协议身份验证,我应该使用 oauth
还是 JWT 就足够了?
首先,OAuth 和 JWT 是不同的。
- OAuth 是一种授权协议,它指定了令牌的传输方式。
- JWT 是一个身份验证令牌,它是一个'object',其内容是一个编码的'structure',填充了用户数据、颁发者、到期时间等.它允许以一种可以验证和信任的方式在各方之间传输数据,因为它是经过数字签名的。它还允许无状态身份验证,因为与服务器通信所需的数据独立包含在该单个令牌中。
要回答您的问题,这完全取决于您的用例。如果你的应用程序只是小规模使用,你只需要使用无状态的API,那么使用 JWT 更好,因为它更容易实现,从而缩短开发时间。如果你的应用程序被大规模使用,为各方提供各种敏感数据,我认为使用 OAuth 会更好。
它们都是安全的,如它们的 RFC 文档所示。
请记住,使用 OAuth 可能会导致更长的开发时间,因为它也比普通的 JWT 更难理解。 OAuth 令牌也不一定是 JWT,因为默认令牌格式未定义,但 JWT 是常用的一种,它应该可以正常工作。
延伸阅读:
我目前正在使用 node.js
和 express.js
为框架构建服务器端。对于登录和身份验证机制,我使用 JWT 的用户名和密码。
此服务器用于为许多客户端提供服务,例如 ios、android 和网络应用程序。
那么,对于这种非协议身份验证,我应该使用 oauth
还是 JWT 就足够了?
首先,OAuth 和 JWT 是不同的。
- OAuth 是一种授权协议,它指定了令牌的传输方式。
- JWT 是一个身份验证令牌,它是一个'object',其内容是一个编码的'structure',填充了用户数据、颁发者、到期时间等.它允许以一种可以验证和信任的方式在各方之间传输数据,因为它是经过数字签名的。它还允许无状态身份验证,因为与服务器通信所需的数据独立包含在该单个令牌中。
要回答您的问题,这完全取决于您的用例。如果你的应用程序只是小规模使用,你只需要使用无状态的API,那么使用 JWT 更好,因为它更容易实现,从而缩短开发时间。如果你的应用程序被大规模使用,为各方提供各种敏感数据,我认为使用 OAuth 会更好。
它们都是安全的,如它们的 RFC 文档所示。
请记住,使用 OAuth 可能会导致更长的开发时间,因为它也比普通的 JWT 更难理解。 OAuth 令牌也不一定是 JWT,因为默认令牌格式未定义,但 JWT 是常用的一种,它应该可以正常工作。
延伸阅读: