简易钥匙和突击验证

django-apike的Python项目详细描述


django的密钥身份验证可与django活塞配合使用。

基于https://github.com/scoursen/django-apikey

安装

pip install django-apikey

配置

将“apikey”添加到您的设置中。py:

INSTALLED_APPS = (
...
'apikey',
....
)

一个问题

什么是令牌和密钥?他们之间有什么不同?

代币

生成令牌时使用:

Token.objects.create(user)

它还可以用于验证django活塞的请求,只要它保持活动状态,这在settings.py:

TOKEN_VALID_SECONDS = 3600

用于发送令牌的头在settings.py中配置为:

TOKEN_AUTH_HEADER = 'X-Auth-Token'

要在资源处理程序中请求令牌,请按如下方式使用:

from apikey.auth import TokenAuthentication
from piston.handler import BaseHandler
from piston.resource import Resource
from app.models import Item

class ItemHandler(BaseHandler):
    allowed_methods = ('GET', )
    fields = ('name', 'id')
    model = Item

    def read(self, request):
        return Item.objects.all()

handler = Resource(
    handler=ItemHandler, authentication=TokenAuthentication())

令牌在每次请求后的秒数内保持活动令牌有效,并且应该在使用用户名/电子邮件和密码/密钥(或基本摘要)进行身份验证的请求中创建它。

阿皮基

API key基本上是一个密钥,用于验证在所有API请求中替换电子邮件/用户名和密码的请求

您可以通过在settings.py:

中设置apikey_authorization_头来更改授权头
APIKEY_AUTHORIZATION_HEADER = 'App-Authorization'

要使用活塞添加api身份验证,请在处理程序中编写以下内容:

from apikey.auth import ApiKeyAuthentication
from piston.handler import BaseHandler
from piston.resource import Resource
from app.models import Item

class ItemHandler(BaseHandler):
    allowed_methods = ('GET', )
    fields = ('name', 'id')
    model = Item

    def read(self, request):
        return Item.objects.all()

handler = Resource(
    handler=ItemHandler, authentication=ApiKeyAuthentication())

谢谢

这个项目是基于steve coursenhttps://github.com/scoursen/django-apikey中的一个,但是有几个简化,并添加了。

许可证

此软件是根据新的BSD许可证授权的

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Android应用程序中处理新活动时出现java NullPointerException   从PSV文件读取Java   在JavaSwing中将方法从一个类传递到另一个类   带有MongoDB错误的java Vertx ClassNotFoundException:com。mongodb。联系溪流工厂   在java中替换2D数组中的数字?   java Avro方案空布尔和双整数布尔的写并集   java导入组织。neo4j无法解决?   从另一个获取变量。使用反射的java文件   Java:以格式化字符串的形式返回具有非常不同的条目长度的2D数组   java客户端应用程序正在从IBMMQ接收不同格式的消息体   java在我的主循环中的步骤有问题   java如何正确安装来自sslforfree的证书。tomcat服务器上的com   java RecyclerView变更单永久   java如何获得屏幕的精确中间位置,即使调整了大小