跳转到主要内容

使用Auth0进行用户身份验证的Datasette插件

项目描述

datasette-auth0

PyPI Changelog Tests License

使用Auth0进行用户身份验证的Datasette插件

有关此插件如何工作的更多信息,请参阅使用Auth0的简单OAuth身份验证

安装

在Datasette相同的环境中安装此插件。

$ datasette install datasette-auth0

演示

您可以在datasette-auth0-demo.datasette.io上尝试此插件 - 点击右上角菜单图标,选择“使用Auth0登录”。

初始配置

首先,在Auth0中创建一个新的应用程序。您将需要该应用程序的域、客户端ID和客户端密钥。

域名应该是类似mysite.us.auth0.com的东西。

http://127.0.0.1:8001/-/auth0-callback添加到允许的回调URL列表中。

然后使用metadata.yml配置这些插件密钥

plugins:
  datasette-auth0:
    domain:
      "$env": AUTH0_DOMAIN
    client_id:
      "$env": AUTH0_CLIENT_ID
    client_secret:
      "$env": AUTH0_CLIENT_SECRET

只需要保留client_secret为秘密,但为了保持一致性,我建议对所有三个都使用$env机制。

在开发中,您可以运行Datasette并传递环境变量,如下所示

AUTH0_DOMAIN="your-domain.us.auth0.com" \
AUTH0_CLIENT_ID="...client-id-goes-here..." \
AUTH0_CLIENT_SECRET="...secret-goes-here..." \
datasette -m metadata.yml

如果您正在使用datasette publish进行部署,您可以使用--plugin-secret传递这些变量。例如,如果您要使用Cloud Run进行部署,您可能需要运行以下命令

datasette publish cloudrun mydatabase.db \
--install datasette-auth0 \
--plugin-secret datasette-auth0 domain "your-domain.us.auth0.com" \
--plugin-secret datasette-auth0 client_id "your-client-id" \
--plugin-secret datasette-auth0 client_secret "your-client-secret" \
--service datasette-auth0-demo

一旦您的Datasette实例部署完成,您需要将其回调URL添加到Auth0中的“允许的回调URL”列表中。

回调URL应该是类似这样的

https://url-to-your-datasette/-/auth0-callback

使用方法

安装后,主菜单中将出现“使用Auth0登录”菜单项。

您可以通过登录并访问 /-/actor 页面来查看已验证的 auth0 个人资料的详细信息。

然后,您可以使用 Datasette 权限 根据已验证用户授予或拒绝对 Datasette 不同部分的访问。

开发

要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境

cd datasette-auth0
python3 -mvenv venv
source venv/bin/activate

现在安装依赖项和测试依赖项

pip install -e '.[test]'

要运行测试

pytest

项目详情


下载文件

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

源分发

datasette-auth0-0.1.tar.gz (8.0 kB 查看哈希值)

上传时间

构建分发

datasette_auth0-0.1-py3-none-any.whl (8.5 kB 查看哈希值)

上传时间 Python 3

由以下机构支持