跳转到主要内容

Pas插件用于连接到auth.imio.be

项目描述

安装本地或远程连接到Imio身份验证(SSO)的连接器。

功能

  • 覆盖Plone登录页面

  • 通过SSO连接

  • 禁用用户名和电子邮件的编辑

  • 通过JWT连接

CI Status Coveralls

安装

您需要安装libffi-dev和openssl-dev软件包(sudo apt install libffi-dev openssl-dev)。通过将其添加到您的buildout中安装pas.plugins.imio

[buildout]

...

eggs =
    pas.plugins.imio

然后运行 bin/buildout

实例启动后,您现在可以从插件页面安装pas.plugins.imio。

用法

要更新用户列表,请访问以下视图之一

  • /@@add-authentic-users?type=usagers

  • /@@add-authentic-users?type=agents

要使用已注册到Plone/Zope的用户登录,而不是使用pas插件,请使用此视图

  • Plone 4: ${portal_url}/login_form

  • Plone 5.2+: ${portal_url}/zope_login

您还可以使用Plone默认视图通过Zope管理员登录:aq_parent/@@plone-root-login

如何使用JWT

首先,将Openid Connect客户端添加到Authentic,并使用以下选项

  • 授权过程:资源所有者的密码

  • 标识符策略:唯一标识符

  • 资源所有者凭证的授权范围:openid

  • IDToken签名算法:RSA

  • Oidc声明:userid | django_user_identifier | openid

其次,您可以要求Authentic获取JWT

Python代码示例

import requests

url = "http://agents.localhost/idp/oidc/token/"
payload = {
    "grant_type": "password",
    "client_id": "client-id-plone5-app",
    "client_secret": "client-secret-plone5-app",
    "username": "jdoe",
    "password": "jdoe",
    "scope": ["openid"],
}
headers = {
    "Content-Type": "application/x-www-form-urlencoded",
}

response = requests.post(url, headers=headers, data=payload).json()
id_token = response.get("id_token")

最后,您可以使用承载标头请求Plone

import requests

url = "https://#:8081/imio/test-1/"
headers = {
    "Accept": "application/json",
    "Authorization": "Bearer {0}".format(id_token),
}

response = requests.get(url, headers=headers)

翻译

此产品已翻译成

  • 英语

  • 法语

贡献

许可证

该项目受GPLv2许可。

贡献者

变更日志

2.0.9 (2023-08-31)

  • 修复登录可以是用户的ID。[bsuttor]

  • 修复python3上的字节转换错误。[bsuttor]

2.0.8 (2023-08-18)

  • 修复用户枚举中的错误:可能检索到错误用户(#4)[laulaz]

  • 最后检查JWT调用时的证书(除了测试)。[bsuttor]

  • 修复JWT调用中的用户创建并测试。[bsuttor]

2.0.7 (2023-03-28)

  • 首次登录时保持旧组。[bsuttor]

2.0.6 (2022-07-18)

  • 由于错误“无法反序列化密钥数据”,不要对jwt调用进行verify_signature。[bsuttor]

2.0.5 (2022-07-13)

  • 在用户迁移时保持旧角色。[bsuttor]

2.0.4 (2022-07-13)

  • 临时移除pas.app.users覆盖,因为它在Plone 6上不起作用。[bsuttor]

  • 添加删除旧用户(不包含登录)的可能性。[bsuttor]

2.0.3 (2022-06-29)

  • 迁移代码重构 & 添加测试 [laulaz]

2.0.2 (2022-06-29)

  • 添加本地角色/拥有的新用户ID的迁移代码 [laulaz]

2.0.1 (2022-06-15)

  • 添加在zmi视图中删除用户的可能性。[bsuttor]

  • 改进用户迁移代码 [laulaz]

  • 对JWT登录进行签名验证。[bsuttor]

2.0 (2022-06-01)

  • 获取通过JWT连接的用户ID和用户登录。[bsuttor]

  • 允许在id/login/email的任何部分进行用户搜索(不仅仅是开头)[laulaz]

  • 使用uuid作为plone用户.id而不是用户名。[bsuttor, laulaz]

  • 在调用authentic用户API时注意下一个URL。[bsuttor]

  • 添加用户zmi视图。[bsuttor]

1.0.11 (2022-04-21)

  • 撤销上一个版本。[bsuttor]

1.0.10 (2022-04-21)

  • 尚未更改。

1.0.9 (2022-01-19)

  • 为了Plone 6兼容性,删除includeDependencies。[laulaz]

1.0.8 (2021-10-15)

  • 当使用JWT创建用户时填写用户名。[bsuttor]

1.0.7 (2021-10-15)

  • 首次连接时使用JWT令牌创建用户。[bsuttor]

1.0.6 (2021-06-01)

  • 修复在Zope 5上出现的ModuleNotFoundError:没有名为‘App.class_init’的模块。[bsuttor]

  • 添加JWT支持。[bsuttor]

1.0.5 (2021-01-04)

  • 改进Anysurfer集成。[bsuttor]

  • 添加撤销用户访问页面,用于从其组中删除用户并撤销其角色。[odelaere]

1.0.4 (2020-10-08)

  • 插件还提供IUserIntrospection,因此来自Authentic PAS插件的用户也将列在api.user.get_users()中。[bsuttor]

  • 使用IItem for Object重定向imio_login而不是INavigation。它解决了从非根导航页面重定向的问题,以及需要访问的页面。[bsuttor]

  • 修复Plone < 5.2登录后的重定向。[odelaere]

1.0.3 (2020-07-30)

  • 添加Plone 5测试配置文件。[bsuttor]

1.0.2 (2020-07-16)

  • 修复(测试配置文件):plone4配置文件的依赖项不存在,使用默认设置。[bsuttor]

1.0.1 (2020-07-16)

  • 添加plone 4测试配置文件。[bsuttor]

  • 默认情况下不安装usager登录。[bsuttor]

  • 修复:从plone.app.controlpanel导入zcml权限。[bsuttor]

1.0.0 (2020-05-29)

  • 修复:在添加新用户时在python3上设置用户名。[bsuttor]

1.0b11 (2020-03-27)

  • 还请参阅请求中的came_from,以获取下一个URL。[bsuttor]

1.0b10 (2020-03-27)

  • 修复:主页上的重定向。[bsuttor]

  • 改进next_url登录。[bsuttor]

1.0b9 (2020-02-26)

  • 使用状态 / 用户状态跳转到应用SSO的页面。[bsuttor]

1.0b8 (2020-02-21)

  • 设置少说。[bsuttor]

1.0b7 (2020-02-11)

  • 修复法语错别字。[bsuttor]

1.0b6 (2020-02-07)

  • 添加plone.app.changeownership依赖。[bsuttor]

1.0b5 (2020-02-07)

  • 改进python3兼容性,在safe_utf8之前检查是否为python 2。[bsuttor]

1.0b4 (2020-02-07)

  • 错误发布。[bsuttor]

1.0b3 (2020-02-07)

  • 覆盖Plone 5上的plone用户列表页面以添加WCA链接。[bsuttor]

  • 添加zope_login以绕过SSO认证。[bsuttor]

1.0b2 (2020-02-04)

  • 修复python3 EnumerateUsers。[bsuttor]

  • 覆盖plone用户列表页面以添加WCA链接。[bsuttor]

1.0b1 (2019-12-16)

  • 支持Python 3。[bsuttor]

1.0a10 (2019-11-18)

  • 添加登录页面的CSS。[bsuttor]

  • 添加法语翻译。[bsuttor]

1.0a9 (2019-11-05)

  • 使用z3c.jbot覆盖默认的login_form模板(允许使用zope管理员和设置的外部URL进行登录)。[bsuttor]

1.0a8 (2019-09-04)

  • 将站点管理员角色设置为由Authentic上的服务管理员角色的用户。[bsuttor]

1.0a7 (2019-06-28)

  • 如果您在Authentic上拥有管理员角色,则设置Manager角色。[bsuttor]

  • 将Member角色添加到与Authentic连接的用户。[bsuttor]

1.0a6 (2019-05-20)

  • 从代理配置中获取注销主机重定向。[bsuttor]

  • 在代理上添加角色范围。[bsuttor]

1.0a5 (2019-05-09)

  • 添加用于与用户和代理连接的用户工厂。[bsuttor]

1.0a4 (2019-04-26)

  • 为用户和代理使用不同的OU。[bsuttor]

1.0a3 (2019-04-25)

  • 使用不同的用户和代理环境变量连接到SOO。[bsuttor]

1.0a2 (2019-04-25)

  • 使用代理和用户连接到Plone。[bsuttor]

1.0a1 (2018-03-28)

  • 首次发布。[bsuttor]

项目详情


下载文件

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

源代码发行版

pas.plugins.imio-2.0.9.tar.gz (56.5 kB 查看哈希)

上传时间 源代码

构建发行版

pas.plugins.imio-2.0.9-py3-none-any.whl (75.3 kB 查看哈希)

上传时间 Python 3

由以下支持