CodiMDのユーザ認証にオレオレ証明書のLDAPSを使う
やりたいこと
- CodiMDのユーザ認証にLDAPを使いたい
- LDAPサーバとの通信はLDAPSにしたい
- LDAPサーバにはオレオレ証明書(自己署名証明書, self-signed certificate)が入っている
困ったこと
とりあえずCodiMDの公式ドキュメント Active Directory (LDAP) の通りに設定してサインインしてみたらInternal Errorになった。 CodiMDのログを見てみたら、次のようにオレオレ証明書のせいでエラーが出ていた。
Error: self signed certificate in certificate chain at TLSSocket.<anonymous> (_tls_wrap.js:1116:38) at emitNone (events.js:106:13) at TLSSocket.emit (events.js:208:7) at TLSSocket._finishInit (_tls_wrap.js:643:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:473:38) 2019-06-23T08:34:58.932Z info: XX.XX.XX.XX - - [23/Jun/2019:08:34:58 +0000] "POST /auth/ldap HTTP/1.1" 500 148 "http://XX.XX.XX.XX/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
解決策
CodiMDのconfig.jsonのldap設定に、次の行を付け加える。
"tlsOptions": { "rejectUnauthorized": false }