django scatter auth是一个可插入的django应用程序,它支持通过scatter(eos)登录/注册。用户通过使用钱包的私钥对会话密钥进行数字签名来进行身份验证。

django-scatter-auth的Python项目详细描述


==========
django scatter auth
==========


============br/>
图片::https://badge.fury.io/py/django scatter auth.svg
:目标:https://badge.fury.io/py/django scatter auth

…图片::https://travis-ci.org/bearle/django-scatter-auth.svg?branch=master
:目标:https://travis ci.org/bearle/django scatter auth

…图片::https://codecov.io/gh/bearle/django scatter auth/branch/master/graph/badge.svg
:目标:https://codecov.io/gh/bearle/django scatter auth

django scatter auth是一个可插入的django应用程序,可以通过scatter(eos扩展钱包)登录/注册。用户通过使用钱包的私钥对主机名进行数字签名来进行身份验证。

…图片::https://github.com/bearle/django-scatter-auth/blob/master/docs//u static/django_scatter_auth_test2.gif?raw=true

documentation
----


完整的文档位于https://django scatter auth.readthedocs.io.


example project
----


https://github.com/bearle/django scatter auth/tree/master/example


您可以查看我们的示例项目通过克隆repo并进入example/目录。
还有一个自述文件供您检查。




features
--


*scatter api login,signup
*scatter django forms for signup,login
*检查签名(验证)
*使用主机名签名作为证明私钥位置的
*易于设置和使用(只需单击一次)
*自定义身份验证后端
*非常可自定义-使用django设置,允许自定义用户模型
*包括普通的javascript帮助程序

----
install django scatter auth with pip::


将其添加到"已安装的应用程序"中:

。代码块::python


'scatterauth.apps.scatterauthconfig',


将"scatterauth.backend.scatterauthconfig"设置为身份验证后端:

。代码块::python

authentication_backend s=[
'django.contrib.auth.backends.model backend',
'scatterauth.backend.scatterauthbackend'
]
将用户模型的字段设置为用作公钥存储:

。代码块::python

scatterauth_user_pubkey_field='用户名'


,如果您有一些其他字段希望位于注册表单中,请添加它们:

…代码块::python

scatter auth_user_signup_fields=['email',]




add django scatterauth的url模式:

……代码块::python


从scatterauth导入url作为scatterauth urls



url(r'^',include(scatterauth urls)),

]

代码块::html

<;script src="{%static"scatterauth/js/scatterauth.js"%}">;




……代码块::javascript

var login\u url='{%url'scatterauth\u login\u api'%};
document.addEventListener('scatter loaded',scatterextension=>;{
console.log('scatterloaded');
if(scatter.identity){
console.log("identity found");
loginWithAuthenticate(登录URL,console.log,console.log,console.log,console.log,函数(resp){
window.location.replace(resp.redirect_URL);
}否则{
console.log('identity not found,have to signup');
}
};

您可以使用{%url'scatterauth注册'%}访问注册,也可以使用{%url'scatterauth注册'%}访问api注册。

前往示例应用https://github.com/bearle/django scatter auth/tree/master/example




>重要细节和常见问题解答R/> 1。*如果设置自定义公钥字段(scatterauth_user_pubkey_field),则该字段必须是唯一的(unique=true)。*


这是必需的,因为如果不是,则用户可以使用与另一个相同的公钥注册新帐户,
表示用户现在可以作为这些帐户中的任何一个登录(有时是错误的帐户)。

2。*如何处理用户密码或密码未设置*


项目中应该有一些代码使用"user.objects.make_random_password`"生成密码并将其发送到用户电子邮件。
或者,更好的是,向他们发送"还原密码"链接。
可以将注册视图复制到您的项目中,为其分配一个url,并添加相应的行以为用户设置一些密码。

3.*我为什么不签个字呢?django-web3-auth需要它,这个应用程序是如何安全的?*

此应用程序使用scatter的"authenticate"功能处理消息签名-主机名是已签名的消息。
这意味着用户和客户端共享原始消息的知识,服务器可以验证客户端拥有与公钥。



正在运行测试

::


source<;yourvirtualenv>;/bin/activate
(myenv)$pip install tox
(myenv)$tox


credits
----


呈现此包时使用的工具:

*Cookiecutter
*`Cookiecutter DjangoPackage`

。_ Cookiecutter:https://github.com/audreyr/Cookiecutter
。_` Cookiecutter DjangoPackage`:https://github.com/pydanny/Cookiecutter DjangoPackage





----


<0.1.1(2018-09-10)
++++++++++++++(2018-08-13)
++++++++++++++++

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

推荐PyPI第三方库


热门话题
java Jsonify使用Jackson来定义嵌套对象   在Swing中禁用java图形调试   java Selenium Webdriver拖放在Jenkins上不起作用   java我对一个显示器的问题有一个非常不切实际的询问   java增强的“for”循环导致ArrayIndexOutOfBoundsException   ArrayAdapter适用于Java中的安卓编程,字符串数组   linux在Ubuntu上通过PulseAudio播放Java音频文件时出错   java在Spring应用程序中加载内部(类路径)和外部属性文件   java使用Maven连接到mySQL   Java应用程序的设计   websocket在电报api java中与dc的连接   java XMLStreamException,因为xml中的(&N)   java从控制台输出到JTextArea   Java导出文本文件   java实现parseInt方法   java为什么servlet容器会同步对特定资源/servlet的多个请求的访问?   循环中的Java“while”变量   用Java编程一个国际象棋游戏,gameOver布尔不起作用   java如何获得真正的JPanel大小?