Skip to main content

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,并且应该在使用用户名/电子邮件和密码/密钥或 Basic、Digest 进行身份验证的请求中创建。

ApiKey

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

您可以通过在 settings.py 中设置 APIKEY_AUTHORIZATION_HEADER 来更改授权标头:

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 Coursen https://github.com/scoursen/django-apikey之一,但有一些简化,并添加了。

执照

该软件根据新 BSD 许可证获得许可。

项目详情


下载文件

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

源分布

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

已上传 source