我正在为我的大学使用gitlab作为部门git服务器。我们拥有由组织的不同部分维护的现有用户群。我的IT管理员宁愿使用PAM而不是直接LDAP进行身份验证。
我通过替换unix_chkpwd二进制文件让PAM在Ubuntu 12.04上工作。现在是通过Omniauth。日志显示它进行身份验证。登录成功后我收到路由错误。
ActionController::RoutingError (No route matches [POST] "/users/auth/pam/callback"):
我不知道如何解决这个问题。
我想设计直接使用PAM,因为我的所有用户都只能通过PAM,因为必须有一个大学帐户。我正在使用下面的宝石https://github.com/jwilson511/devise_pam_authenticatable。我有它设置,但它似乎没有尝试登录PAM。
任何帮助都将不胜感激。
编辑: 我已正确配置PAM。问题在于路由错误。
答案 0 :(得分:2)
我找到了解决方案。需要将gem设置为具有gitlab将正确解析的名称选项。
还需要设置gem以在info hash中添加电子邮件字段,以便在首次登录时创建用户。
我会做一些代码清理并发出拉取请求。
答案 1 :(得分:0)
您可以使用omniauth提供程序
有关omniauth提供商的详细信息,请参阅https://github.com/gitlabhq/gitlabhq/wiki/Using-Custom-Omniauth-Providers
对于pam omniauth提供商,请参阅https://github.com/nickcharlton/omniauth-pam