1

我正在使用 gitlab 作为我大学的部门 git 服务器。我们有一个由组织的不同部分维护的现有用户群。我的 IT 管理员宁愿使用 PAM 而不是直接使用 LDAP 进行身份验证。

通过替换 unix_chkpwd 二进制文件,我让 PAM 在 Ubuntu 12.04 上工作。现在是通过 Omniauth。日志显示它进行了身份验证。成功登录后出现路由错误。

ActionController::RoutingError (No route matches [POST] "/users/auth/pam/callback"):

我不知道如何解决这个问题。

我想设计直接使用 PAM,因为我的所有用户都只能通过 PAM,因为必须有一个大学帐户。我正在使用以下 gem https://github.com/jwilson511/devise_pam_authenticable。我已经设置好了,但它似乎没有尝试通过 PAM 登录。

任何帮助,将不胜感激。

编辑:我已经正确配置了 PAM。问题在于路由错误。

4

2 回答 2

2

我找到了解决方案。需要设置 gem 以具有 gitlab 将正确解析的名称选项。

还需要设置 gem 以将电子邮件字段添加到信息哈希中,以便在首次登录时创建用户。

我会做一些代码清理并提出拉取请求。

于 2013-07-24T21:23:45.813 回答
0

你可以使用omniauth提供者,

有关omniauth 提供程序的详细信息,请参见https://github.com/gitlabhq/gitlabhq/wiki/Using-Custom-Omniauth-Providers

对于 pam omniauth 提供商,请参阅https://github.com/nickcharlton/omniauth-pam

于 2013-07-24T12:54:32.787 回答