我们如何用python实现登录功能

2024-10-03 17:25:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我了解pythoneve支持HMAC或基于令牌的身份验证,即在每个请求的头中包含令牌或散列。然而,我们首先应该如何实现登录,即在向他们提供令牌/hmac散列之前验证用户名和密码的过程?我们是接受下面这种新的路由方法,直接读取数据库,还是有更好的方法?在

app.route('/login', methods['POST'])

Tags: 方法身份验证数据库app密码路由过程login
2条回答

理想情况下,用户ID、密钥和令牌是通过一些带外技术提供的,例如电子邮件、普通旧纸、网页(不可取)。客户端将使用提供的密钥对所有请求进行签名。在

登录不属于REST服务,REST服务根据定义是无状态的(它们不存储客户机的状态,这就是为什么要对每个请求进行身份验证)

我的建议是在与API本身不同的服务/网站上处理用户注册。在任何情况下,确保密钥/用户标识已发送出去。中间人攻击等可以伪造密钥,然后用它代表目标客户机签署API请求。在

为了正确实现基于令牌的身份验证,理想情况下,您需要有一个身份提供者(IdP),您可以对其进行身份验证并返回一个有效令牌(有时间限制),然后您可以在信任IdP的服务提供商(即API)中使用该令牌。在

这就是说,我想您可以执行Eve支持的初始基本身份验证,然后返回一个令牌,您的客户机将在随后的请求中使用该令牌。在最初的安全请求中,只有在我的安全请求中才有可能受到攻击。缺点是IdP和SP是同一个。在

您可以在此处阅读有关令牌身份验证的更多信息:

希望有帮助。在

相关问题 更多 >