用于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第三方库


热门话题
java我的计时器(scheduleAtFixedRate)不循环   如何在Java中实现过滤迭代器?   java如何在不从本地xml、csv文件访问API的情况下将变量发布到php站点?   SuiteClasses语法的Java JUnit类数组   java从URLConnection读取二进制文件   java在Android Studio中发送加密文本时失败   Android:最近最少使用(LRU)算法在java中的实现?   java Selenium WebDriver无法打开Firefox配置文件   java如何处理带有嵌套抽象类的GSON?   java类型通知的方法SetLateStevenInfo(GcmMessageHandler,String,String,PendingContent)未定义   java Apple或Mac Mail会打开所有附件图像,即使它们已嵌入   java如何解析下面的xml代码?   java如何创建特定于API级别的UI(针对平板电脑和Android旧版本的不同UI,针对同一应用)?   servlet的通配符路径?