简易钥匙和突击验证
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许可证授权的