使用IndieAuth和RelMeAuth进行Datasette身份验证
项目描述
datasette-indieauth
使用 IndieAuth 进行Datasette身份验证。
演示
您可以在 datasette-indieauth-demo.datasette.io 尝试此插件的最新版本
安装
在Datasette相同的环境下安装此插件。
$ datasette install datasette-indieauth
用法
确保您有一个支持IndieAuth或RelMeAuth的域名网站。最简单的方法是在您的首页添加以下HTML代码,链接到您的个人GitHub个人资料
<link href="https://github.com/simonw" rel="me">
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
您的GitHub个人资料需要链接回您的网站,以证明您的GitHub账户应该是该页面的有效标识符。
现在访问您的Datasette实例上的 /-/indieauth
以开始登录过程。
行为者
当用户使用IndieAuth登录时,他们将收到一个标识他们的 ds_actor
cookie,看起来像这样
{
"me": "https://simonwillison.net/",
"display": "simonwillison.net"
}
如果IndieAuth服务器返回了额外的 "profile"
字段,这些字段将合并到行为者中。您可以通过访问您的Datasette实例上的 /-/actor
来查看您当前登录的完整行为者。
使用 restrict_access 插件配置限制访问
您可以使用 Datasette的权限系统 来控制已认证用户的权限 - 默认情况下,已认证用户将能够执行与未认证用户相同的操作。
作为一个快捷方式,如果您想要完全锁定对您的实例的访问,仅限于特定用户,您可以使用以下方式使用 restrict_access
插件配置选项
{
"plugins": {
"datasette-indieauth": {
"restrict_access": "https://simonwillison.net/"
}
}
}
这可以是一个字符串或用户标识符的列表。它也可以是一个空格分隔的列表,这意味着您可以使用它与datasette publish --plugin-secret
配置选项一起设置权限,例如这样
datasette publish vercel mydb.db --project my-secret-db \
--install datasette-indieauth \
--plugin-secret datasette-indieauth restrict_access https://simonwillison.net/
开发
要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境
cd datasette-indieauth
python3 -mvenv venv
source venv/bin/activate
或者如果您正在使用pipenv
pipenv shell
现在安装依赖项和测试
pip install -e '.[test]'
要运行测试
pytest
项目详情
关闭
datasette-indieauth-1.2.2.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9e12803cf5ccda49441b59e4e3732221fec2a6ef4f98fb0233ef9ed4a4ec802c |
|
MD5 | a1d0fa45ee5865403ce6cb999b30308b |
|
BLAKE2b-256 | 34413106cfe6586f927e1baf803ebf305b902aa92d2b153b30ee5dfa5239531b |
关闭
datasette_indieauth-1.2.2-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 7e7ccd1acc2baaff694e1054c44e7f5dea2b5f430de1872f3798e4fce430ab27 |
|
MD5 | ecd4d693f6ec71c235269b3d04a38517 |
|
BLAKE2b-256 | f284d3ad936ff94f0d716e71423b23685a63a07617e7c3b0c973aa538d81ad97 |