使用MongoDB的令牌系统

moth的Python项目详细描述


https://travis-ci.org/charlesthomas/moth.png?branch=master

moth被认为是一种仅用于电子邮件的身份验证方案(mail 但是,它是通用的,几乎可以用于 任何基于令牌的身份验证。

同步与异步

要创建同步蛾对象:

from moth import Moth
moth_object = Moth()

要创建异步蛾对象:

from moth import AsyncMoth
moth_object = AsyncMoth()

所有方法调用都受支持,并在mothvs中同名。 asynchmoth。对于本自述的其余部分,moth将同时引用mothasynchmoth除非另有说明。

初始化

启动moth需要创建到MongoDB的连接的凭据, 以及数据库名称(默认为“moth”)。

AsyncMoth.__init__()块,同时创建连接。它是唯一 这样做的方法。建议将asynchmoth初始化为 龙卷风服务器启动的一部分。

创建标记

调用moth.create_token()将生成一个随机令牌并将其存储在 具有电子邮件地址和可选IP地址、过期(以天为单位)和检索。 方法返回令牌。

认证令牌

为传递的电子邮件/令牌调用moth.auth_token()querys mongo 组合。如果IP地址在从Mongo返回的记录中,则为 已验证。如果返回expiration,则将其与datetime.now()

如果IP地址或过期无法验证,则令牌将是 已删除。

如果令牌验证,则查询retval。如果存在ReVaR,则返回。 否则,moth.auth_token()返回true。

其他方法

所有其他方法都是相当不言而喻的,并且/或者主要用于内部 目的。阅读代码以了解其工作原理。

什么是retval?

retval是当moth.auth_token()为 成功。它是完全可选的。如果你不通过检索 moth.create_token(),不要调用moth.set_retval(),然后 moth.auth_token()将在成功调用时返回true。

为什么要用它?

对于我正在处理的项目,它导致创建moth,retval是 非统组织的标志当我调用moth.auth_token()时,我验证moth令牌, 这给了我用户用于进行api调用的oauth令牌。

要求

moth需要motor,以及tornadopymongo(它们是 两者都是通过motor安装的。

示例

示例可以在ReadTheDocs

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

推荐PyPI第三方库


热门话题
使用INTEGER的java实例。parseInt和字符串转换方法   Java Eclipse项目设置在某处导致FileNotFound错误   如何在java中重写scala def close():Future[Unit]   java强制应用程序使用特定文件夹中的dll   javascript调用java方法,并从jsp中的下拉选择中设置参数值   使用aspectJ的java拦截静态方法   java Double。最小值未按预期工作   java如何使用WebDriverWait。直到没有定位器?   在Java中不同时区和不同DST之间转换unix时间戳   java Why语句不返回结果   数组为什么这个Clojure代码比Java中的其他代码慢?   java Rest+Spring AOP+接口不注入   java Tinylog与池连接一起工作吗?   使用jquery调用java Web服务   返回utf8的java Calendar getDisplayName