支持django中的keybase证明
django-keybase-proofs的Python项目详细描述
django keybase证明
django-keybase-proofs
是django应用程序和引用实现
用于将keybase证明集成到web应用程序中。如果你想整合
在应用程序中使用keybase proofs,然后使用django,可以将其用作
去图书馆。否则,您可以run the server
locally或签出代码来查看如何
建立自己的集成。您可以阅读所有
与keybase集成所需的步骤。
库支持跨python 2.7到python版本的django 1.11到django2.2 3.7条。如果你想看一个功能或发现一个bug,请让我们知道 打开issue或pull request。
与现有Django应用程序
集成要安装:
pip install django-keybase-proofs
将keybase_proofs
添加到settings.py的INSTALLED_APPS
,并设置
KEYBASE_PROOFS_DOMAIN
设置:
INSTALLED_APPS=(# ...other installed applications...'keybase_proofs',)# Must match the `domain` set in the config.KEYBASE_PROOFS_DOMAIN=<your-domain.com>
将url(r'^keybase_proofs/', include('keybase_proofs.urls')),
添加到主菜单
urls.py
您可以在keybase_proofs/templates/
中复制示例模板以自定义
以及必要的风格。签出remaining
steps到
集成您的配置并将其提交给keybase。
注意:在集成指南中periodic
checking
对证明的活性进行了讨论。这个库没有实现
行为,因为django没有通用的方式来表达这一点
应用。我们提供图书馆功能
(keybase_proofs.views.verify_proof
)来实现此功能,如果
渴望的。作业调度/重试行为由实现决定。
探索示例服务
如果您正在构建一个keybase-proof集成,但不使用django,则可以 仍将此包用作参考实现。使用说明 下面您可以在本地运行服务器以查看预期的行为/响应 应该执行。
首先使用以下命令安装所需的python包:
# install basic python requirements, a virtualenv is recommended.
make installdeps
# Run the example `test_app` server
make run
运行测试服务器时,您可以随意发布校对/阅读 API。测试服务器没有任何身份验证机制。任何 您在登录表单上提交的用户名将被验证,并可以发布 证明。
示例配置
如果您要使用这个库,这里有一个配置示例。你应该 签出the documentation的 这里发生的一切的完整描述。
{"version":1,"domain":"<your-domain.com>","display_name":"Django Keybase Proofs","username":{"re":"^[a-zA-Z0-9_]{2,20}$","min":2,"max":20},"brand_color":"#000100","logo":null,"description":"Next gen social network using big data & AI in the cloud ?☁️.","prefill_url":"https://<your-domain.com>/keybase-proofs/new-proof?kb_username=%{kb_username}&username=%{username}&sig_hash=%{sig_hash}&kb_ua=%{kb_ua}","profile_url":"https://<your-domain.com>/keybase-proofs/profile/%{username}","check_url":"https://<your-domain.com>/keybase-proofs/api/%{username}","check_path":["keybase_sigs"],"contact":["admin@<your-domain.com>","joshblum@keybase"]}
验证集成
在集成时,可以使用verification script来 帮助手动验证集成的正确性。
开发技巧
您可以通过运行来运行测试:
make test
发布到pypi:
TAG_NAME="XXX"
make release TAG_NAME=$TAG_NAME