Python 基于令牌的身份验证

Python 基于令牌的身份验证,python,authentication,Python,Authentication,我正在尝试解决基于令牌的身份验证问题,以创建一个用于登录目的的简单webapp。 通过rest调用,我得到如下令牌。这之后我该怎么办?因此,在服务器中,我有10个具有密码的用户,当用户登录时,他/她将登录,并且只有在令牌与服务器中的用户名/密码匹配时才能登录。这是正确的逻辑吗?如能提供示例,将不胜感激 "return": [{ "token": "djfnvk42kfnlsdfk", }] 由于您似乎还没有太多的设置,我将用一些示例代码向您介绍基于令牌的身份验证背后的想法: 这样做的

我正在尝试解决基于令牌的身份验证问题,以创建一个用于登录目的的简单webapp。 通过rest调用,我得到如下令牌。这之后我该怎么办?因此,在服务器中,我有10个具有密码的用户,当用户登录时,他/她将登录,并且只有在令牌与服务器中的用户名/密码匹配时才能登录。这是正确的逻辑吗?如能提供示例,将不胜感激

"return": [{
    "token": "djfnvk42kfnlsdfk",
 }]

由于您似乎还没有太多的设置,我将用一些示例代码向您介绍基于令牌的身份验证背后的想法:

这样做的目的是通过检查用户名和密码是否匹配(例如登录),对用户进行一次身份验证。之后,返回标识此客户端的安全令牌。然后,最简单的方法是让客户机在发出每个请求时在HTTP头中发送令牌。您必须找出如何在您选择的框架中做到最好。但它将是这样的:

import requests
r = requests.get('<MY_URI>', headers={'Authorization': 'TOK:<MY_TOKEN>'})
请注意,这些只是示例,因为实现实际上取决于您选择的框架。对于不同的框架,也有相当多的实现和示例

例如,对于Django:


但是,一旦你决定了要使用的框架,你就可以通过谷歌找到更多自己的信息。

老实说,除非你是一名熟练的安全研究员,否则推广自己的身份验证方法几乎总是一个坏主意。我不是,这就是为什么我在Django REST框架()中使用内置身份验证。它易于使用,提供了一种快速启动RESTful API的方法,内置了对简单令牌身份验证的支持(如您在问题中所述)。

我以前回答过一个类似的问题:。用于节点和角度。你的一个标签上写着Python,所以如果你不熟悉Node和Angular,我可以试着更一般地回答它。Python中的示例会有很大帮助。这也取决于你目前所掌握的知识。您是否有单独的客户端/API?您使用的是Django还是其他框架?你能把你目前掌握的一些代码链接起来吗?你提供的信息越多,我就越能回答你的问题。它使用(服务器的)API从服务器中提取令牌。我在考虑Django或Tornado。我只是有权打电话给代币。
request.META['Authorization']