spkcsiders域身份验证帮助程序
spkcspider-domainauth的Python项目详细描述
基于数据库的域身份验证帮助程序
安装
pip install spkcspider-domainauth
设置:
...
INSTALLED_APPS = [
...
spider_domainauth
...
]
DOMAINAUTH_URL = 'spider_domainauth:domainauth-db'
用法:
基于URL:
fromdjango.confimportsettingsfromdjango.shortcutsimportresolve_urlresponse=requests.post(resolve_url(settings.DOMAINAUTH_URL),{"urls":"http://foo/component/list/"})token=response.json["tokens"]["foo"]
基于模块:
fromspider_domainauth.modelsimportReverseToken# overloaded create methodrtoken=ReverseToken.objects.create()"http://foo/token/list/?intent=domain&referrer={referrer}&payload={token}".format(referrer=resolve_url(settings.DOMAINAUTH_URL),token=rtoken.token)e.refresh_from_db()# note: it is not token but secret, reason: token is reused and prefixed with id (for uniqueness)e.secret
其他设置:
- domainauth_ratelimit_func:ratelimit访问尝试
- domainauth_lifetime:token lifetime(默认为1小时)(注意:如果使用“基于url”的方法,则随后会自动删除token)
待办事项:
- 重载其他管理器方法
- 更好的例子