Privacycidea:Identity,Multiactor Authentication(OTP),Authorization,Audit

privacyIDEA的Python项目详细描述


私人住宅

Build StatusCircleCIhttps://codecov.io/github/privacyidea/privacyidea/coverage.svg?branch=masterLatest VersionLicenseDocumentationCodacy BadgeprivacyIDEA on twitter

PrivacyIdea是一个开放的解决方案,用于强双因素身份验证,如 OTP令牌、短信、智能手机或ssh密钥。 使用PrimaCyVIEW,可以增强现有的应用程序,比如本地登录 (PAM,Windows凭据提供程序), VPN、远程访问、ssh连接、访问网站或门户 身份验证期间的第二个因素。从而提高你的安全性 现有应用程序。

概述

PrivacyIdea在您的网络中作为附加服务运行,您可以连接不同的 PrivacyIdea的应用程序。

privacyIDEA Integration

PrivacyIdea不会将您绑定到身份验证的任何决定 协议或者它没有规定你的用户信息应该在哪里 存储。这是通过其完全模块化的架构实现的。 PrivacyIdea的模块化架构不仅是开放的 担心的。但PrivacyIdea完全是根据AGPLv3授权的。

它支持多种身份验证设备,如otp令牌 (hmac、hotp、totp、ocra、motp)、yubikey(hotp、totp、aes)、fido u2f设备 像Yubikey和插头,智能手机 像google authenticator、freeotp、token2或tiqr等应用程序, 短信、电子邮件、ssh密钥、x509证书 以及便于部署的注册码。

privacyidea基于flask和sqlalchemy作为python后端。这个 web ui基于angularjs和bootstrap。 machinetoken设计允许您将令牌分配给计算机。因此您可以使用 您的yubikey可以解锁luk,将ssh密钥分配给ssh服务器,或者与pam一起使用离线otp。

您可以加入讨论论坛,提供反馈,帮助其他用户,讨论问题和想法: https://community.privacyidea.org

设置

要将系统设置为runit,请阅读安装说明 在http://privacyidea.readthedocs.io

如果要设置开发环境,请按以下方式开始:

git clone https://github.com/privacyidea/privacyidea.git
cd privacyidea
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt

您可能还想阅读关于开发和调试的博客文章 https://www.privacyidea.org/privacyidea-development-howto/

获取和更新子模块

一些身份验证模块和管理客户端位于git子模块中。 要获取这些运行的最新版本:

git submodule init
git submodule update

稍后您可以更新子模块,如下所示:

git pull --recurse-submodules

运行它

创建数据库和加密密钥:

./pi-manage createdb
./pi-manage create_enckey

为审核日志创建密钥:

./pi-manage create_audit_keys

创建第一个管理员:

./pi-manage admin add <username>

运行:

./pi-manage runserver

现在您可以使用浏览器连接到http://localhost:5000并登录 作为管理员。

运行测试

nosetests -v –with-coverage –cover-package=privacyidea –cover-html

贡献

对PrivacyIdea有很多不同的贡献方式,甚至 如果你不是开发者。

如果发现安全漏洞,请将其报告给 security@privacyidea.org

您可以在此处找到有关投稿的详细信息: https://github.com/privacyidea/privacyidea/blob/master/CONTRIBUTING.rst

代码结构

数据库模型在models.py中定义,并在 测试/test_db_model.py.

基于数据库模型,有库lib/config.py,它是 负责数据库表config中的基本配置。 以及为数据库提供函数的库lib/resolver.py。 表resolver。这在tests/test-lib_resolver.py中进行测试。

基于解析器,有一个库lib/realm.py,它提供 功能 对于数据库表realm。几个解析器组合成一个领域。

基于领域有库lib/user.py,它提供函数 对于用户。没有数据库表用户,因为用户是动态读取的 来自用户源,如sql、ldap、scim或平面文件。

版本控制

privacyidea遵循Semantic Versioning

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带truezip的java拆分zip   java Spring,AppEngine:在AppEngine的数据源中添加postgresql url   java Android coverflow   java以编程方式创建复合过滤器,以在log4j 2中定义多个过滤器   java jpa eclipselink异常[eclipselink 4002]   中的java WordNet数据库目录相对路径。罐子   java无法在Spring Boot 2/3中显示登录的用户   java Onetomany:未找到联接表错误   java数据模型演化   java方法在类型列表中添加的(对象)不适用于参数(int)意味着什么?   用java打印两个数组   java SNMP4J发送从不超时   java添加/删除联系人(EditText)+类别(SpinnerBox),可以根据需要动态添加/删除多个联系人   语句和PreparedStatement之间的java差异   java在运行作为JAR归档文件分发的项目时加载图像等资源   来自应用程序或外部服务器的java Cron作业   多线程Java并发:并发添加和清除列表项   java更改单元测试的私有方法行为