跳转到主要内容

Django的一次性认证(临时凭证)工具。

项目描述

django-ticketoffice 为Django提供了一次性认证(也称为临时凭证)工具。它允许您创建和管理允许用户在网站上执行一次操作的票证。例如,Django可以使用它来处理“密码重置”操作,用户使用临时令牌进行认证。

示例

将某些URL限制为具有有效邀请票证的访客

from django.conf.urls import patterns, url
from django_ticketoffice.decorators import invitation_required, stamp_invitation

@invitation_required(place=u'louvre', purpose=u'visit')
@stamp_invitation  # Mark invitation as used right **after** view execution.
def visit_louvre(request):
    ticket = request.cache['invitation']  # Set by `invitation_required`.
    return u'Welcome to the Louvre museum {guest}'.format(
        guest=ticket.data['first_name'])

urlpatterns = patterns('', url('^louvre$', visit_louvre, name='louvre'))

为该资源创建和发送票证

from django.utils.timezone import now
from django_ticketoffice.models import Ticket

ticket = Ticket(place=u'louvre', purpose=u'visit')
ticket.set_password(u'I love Paris')  # Encrypted in database.
ticket.expiry_datetime = now() + timedelta(days=5)  # Optional.
ticket.data = {'first_name': u'Léonard'}  # Optional.
ticket.save()

credentials = {'uuid': ticket.uuid, 'password': u'I love Paris'}
visit_url = reverse('louvre') + '?' + urlencode(credentials)

django-ticketoffice 专注于认证。它不发送邀请电子邮件。您可以查看django-mail-factory关于发送电子邮件的信息。

项目状态

django-ticketoffice 目前是一个概念验证:它提供了创建票证并在视图中使用票证的基本功能。它(您可以使用它)可能缺少一些功能(欢迎提出想法),并且可能会发生相当大的变化(改进)。尽管如此,维护者将负责发布说明和迁移。

有关项目状态的更全面了解,请参阅愿景路线图替代方案

资源

项目详情


下载文件

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

源代码分发

django-ticketoffice-0.2.zip (25.5 kB 查看哈希值)

上传时间 源代码

支持