ちょっとハマったのでメモ。
具体的にはまったポイントとしては、

  1. LDAP認証後のURLがおかしい。
  2. 認証成功後にLdap Errorで落ちる。
まず、1に関してだけど、ログインフォームのURLがgitlabhq/users/auth/ldapの時、認証のURLにgitlabhqの部分が欠けている。
Rubyよくわからない&すぐに使いたかったので、とりあえずのハードコーディングで対応しました。
vendor/bundle/ruby/1.9.1/gems/omniauth-ldap-1.0.2/lib/omniauth/strategies/ldap.rb
f = OmniAuth::Form.new(:title => (options[:title] || "LDAP Authentication"), :url => '/gitlabhq' + callback_path)
こんな感じで無理やり/gitlabhqを加えると言う・・・。
2に関しては、LDAP認証失敗=Invalid Credentials、LDAP認証後に失敗=Ldap Errorという形で。
内部で必要としているメールアドレスの情報をLDAPから取得できなかったのが問題。
LDAP側に属性を追加することで対応しました。
とりあえず、LDAPログインまではなんとか。。。
カテゴリー: ニュース