[英]RESTful API authentication design
有点概念上的问题:我正在设计一个私有的RESTful API,它将被iOS和Android应用程序使用。
我正在使用JWT。
我有一个api_users
表,该表允许访问API本身。
我也有一个users
表,供使用该应用程序的个人用户登录(即个人的电子邮件和密码)。
所以这是我感到困惑的地方:
api_users
表并为users
使用单个身份验证端点,还是 api_users
和 users
的凭据才能返回有效的JWT; 要么 api_users
,另一个用于普通users
)。 如果我采用第三种方法,并且与RESTful(无状态)设计保持一致,是否需要第二个JWT来跟踪哪些user
正在请求我的API?
谢谢你们!
您不应有两个代表两种不同类型用户的表(例如API用户/应用程序用户)。 一张桌子就足够了。 就跟踪哪个用户正在请求您的API而言,您的日志应该足够了,除非您需要在前端存储并提供其他指标,或者您希望限制访问(限制/一次每个用户一个请求)和您的框架无法管理这一点。 当您的用户通过您的应用进行身份验证时,他们将获得一个JWT令牌,该令牌可用于进行API调用。
RESTful API不应具有需要维护状态的登录过程。 您将通过为每个请求提供有效的JWT数据包进行身份验证,并且为了创建数据包,您将需要令牌和某种唯一的帐户标识符。 您将不需要任何密码即可创建JWT数据包。
关于获得令牌,您有两种选择:
无论哪种情况,您都需要一个用于用户的表和另一个用于令牌的表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.