用于Dovecot身份验证协议v1.1的客户端库

dovecotauth的Python项目详细描述


Dovecot Authentication Protocol v1.1的客户端。

为什么?

对于运行在我的 服务器,尤其是openid提供程序,看起来我不得不 写一篇文章,写一个小客户来和它交谈比得到 跟帕姆说话。

我想可能有人在同一个位置,为什么不解开它呢? 从openid提供程序。

开发

要设置开发环境,请运行:

make dev

要将新版本上载到PYPI,请执行以下操作:

make release

用法

注意

此API可能会更改。

使用connect上下文管理器连接到DAP服务器。这需要一个 servicename(例如'imap')和unix域套接字的路径或 命名参数unix,或由主机名和端口组成的元组 命名参数inet中的数字。

上下文管理器返回一个Protocol对象,您可以在该对象上调用 auth方法。这采用SASL机制的名称(当前仅 支持'plain',用户名和密码,以及 附加参数可选参数,我需要记录这些参数。

返回值是一个二元组,由一个表示成功或 失败和响应的参数作为字典,或None, 表示cont响应,需要进一步的数据。

例如:

with connect('imap', unix='./auth.sock') as conn:
    status, flags = conn.auth('imap', username, password)
    if status:
        print("Authentication succeeded")
    else:
        print("Authentication failed or needs more data")

演示

这个库提供了两个演示,允许您测试它 独立于多佛科特本身。运行dovecotauth.py server将给出 你是一个简单的dap服务器,dovecotauth.py client给你一个 命令行客户端。不过,请注意,这两种方法都不是为了稳健, 只是为了给你足够的时间来测试。

两者共享两个标志--unix--inet。前者允许您指定 unix域套接字路径,后者允许您指定 以address:port格式绑定/连接到。

客户端还允许您使用^{tt12}指定服务名$ flag('imap'默认情况下),与--mech标志一起使用的SASL机制 (目前只支持“plain”,因此暂时可以忽略它),并且 username,默认为USER环境变量的值。

例如:

./dovecotauth.py client --unix ./auth.sock --user user

然后将提示您输入密码。

服务器接受一个标志--htpasswd,它允许您指定路径 到要进行身份验证的htpasswd文件:

./dovecotauth.py server --unix ./auth.sock --htpasswd ./passwd

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

推荐PyPI第三方库


热门话题
具有较旧spring启动版本的java Maven依赖项   java如何在安卓中获取移动网络活动计划使用历史记录   java CXF抛出了所有策略替代方案都无法满足的问题   java如何创建类似ApachePOI的程序   Java Hashmap如何处理单词网格中的键冲突   java如何在多个下拉列表中搜索下一个元素   如何将css文件导入我的JavaSpringWebApp?   如何在Java中将字符串[]转换为字符串[]?   排序如何在Java中根据列的组合对spark dataframe进行排序?   java错误:无法访问com的zzbej类文件。谷歌。安卓gms。内部的没有找到zzbej   illegalargumentexception Java Comparator引发非法参数异常   java删除ShaperRenderer偏移量   安卓中的java出生日期问题   设置MediaBrowserService和MediaSession时遇到java问题   java对抛出声明的澄清   java在IntelliJ IDEA的Gradle项目的“提供”范围内添加依赖项   带2个变量的java For循环?   java是一个更平坦的问题   使用JACOB保存Word文档(Java)