我正在尝试编写一个基于 Perl 的 Web 应用程序,它使用 Kerberos 5 Negotiate Authentication 对其用户进行身份验证。我正在使用的 Perl Web 框架是 Perl Dancer,它处于非 CGI、自包含的操作模式。我在 Linux 的 Fedora 发行版上运行它。
协商身份验证可以使用从用户浏览器转发的现有 Kerberos 票证,或使用常规基本身份验证来允许用户建立他们的第一个 Kerberos 票证。这样做的最终效果是支持协商身份验证的站点无缝集成到 SSO 环境中。
CPAN 有 Authen::Krb5 模块,我怀疑它是提供协商身份验证的基础,但是我只能在 CPAN 上找到客户端模块。这些客户端模块可用作真正简单的基本身份验证的后端,或用于建立第一个协商身份验证票证,但不能执行协商身份验证本身(例如 Authen::Krb5::Easy)。
我在这里找到了 PHP 的实现。随附的操作指南提供了一个很好的高级概念,说明协商身份验证应该如何工作,以及如何在 Web 应用程序中使用为 Perl(或任何语言)编写的协商身份验证库。理想情况下,我想使用一个与这个 PHP 具有类似接口的 Perl 库。
是否存在 Perl 协商身份验证服务器端库?如果不存在,最好的写法是什么?