跳转到主要内容

Django的简单键和令牌认证。

项目描述

为django提供密钥认证。可以与django-piston轻松使用。

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

安装

pip install django-apikey

配置

将‘apikey’添加到您的settings.py

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

一个问题

令牌和密钥是什么?它们之间有什么区别?

令牌

令牌是通过以下方式生成的

Token.objects.create(user)

并且可以使用它来验证Django-Piston的请求,只要它保持活跃,这在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())

令牌在每个请求后保持活动状态,直到TOKEN_VALID_SECONDS,它应该在通过用户名/电子邮件和密码/密钥或基本、摘要进行认证的请求中创建。

ApiKey

ApiKey基本上是一个密钥,用于认证请求,它替代了所有API请求中的电子邮件/用户名和密码。

您可以通过设置settings.py中的APIKEY_AUTHORIZATION_HEADER来更改授权头部

APIKEY_AUTHORIZATION_HEADER = 'App-Authorization'

要添加piston的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 Coursen的https://github.com/scoursen/django-apikey,但进行了几个简化和添加。

许可证

本软件根据新BSD许可证授权。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django-apikey-0.2.0.tar.gz (3.3 kB 查看哈希值)

上传时间:

由以下支持