跳转到主要内容

Django中的密钥证明支持

项目描述

django-keybase-proofs

PyPI version PyPI Travis CI Deploy

django-keybase-proofs 是一个Django应用程序和参考实现,用于将Keybase证明集成到Web应用程序中。如果您想将Keybase证明集成到应用程序中,并且使用Django,则可以使用此作为即插即用库。否则,您可以在本地运行服务器或检出代码以了解如何构建自己的集成。您可以通过阅读完整的集成文档来了解与Keybase集成的所有必需步骤。

该库支持从Python 2.7到3.7的Python版本,以及从Django 1.11到Django 2.2。如果您想看到一个功能或找到一个问题,请通过打开问题拉取请求来告诉我们。

与现有的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')), 添加到您的main urls.py

您可以将keybase_proofs/templates/中的示例模板复制过来,根据需要自定义和样式化。查看剩余步骤以进行集成并将您的配置提交给Keybase。

注意:在集成指南定期检查中讨论了证明的有效性。由于没有一种通用的方式来为Django应用程序表达此行为,因此这个库不实现这种行为。我们提供了一个库函数(keybase_proofs.views.verify_proof)以实现此功能(如果需要)。作业调度/重试行为由实现者决定。

探索示例服务

如果您正在构建Keybase证明集成但不使用Django,您仍然可以将此包用作参考实现。按照以下说明,您可以在本地运行服务器以查看应实现的行为/响应。

首先使用以下命令安装所需的Python包:

# install basic python requirements, a virtualenv is recommended.
make installdeps
# Run the example `test_app` server
make run

在运行测试服务器时,您可以尝试发布证明/读取API。测试服务器没有任何身份验证机制。您在登录表单中提交的任何用户名都将被验证并可以发布证明。

示例配置

以下是一个使用此库的示例配置。您应该查阅文档以获取此处发生的完整描述。

{
  "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"]
}

验证集成

在集成过程中,您可以使用验证脚本来帮助手动验证集成的正确性。

开发技巧

您可以通过运行以下命令来运行测试:

    make test

发布到PyPI

TAG_NAME="XXX"
make release TAG_NAME=$TAG_NAME

项目详情


下载文件

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

源分布

django-keybase-proofs-0.0.8.tar.gz (11.4 kB 查看哈希值)

上传时间

构建分布

django_keybase_proofs-0.0.8-py2.py3-none-any.whl (15.4 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面