タグ: Moodle

  • Moodle の Shibboleth 化 (京都大学版その2)

    前回の作業まででエラーに遭遇。
    moodleshiberror1

    証明書がインストールされていないというページがヒットしたが、証明書は /etc/shibboleth/cert 以下に置いてある。統合認証センターに相談し、鍵のパーミッションだった(shibd プロセスのオーナーが読めるようにする)。これで一歩前進。

    moodleshiberror2

    次にデータマッピングへ進む。

  • Moodle の Shibboleth 化 (京都大学版その1)

    既存のドキュメントが分かりにくくハマったのでメモ。Moodle側の作業はほとんど無い。

    1. shibd などのインストール: ここの通り
    2. shibboleth2.xml の編集: ここの「1. entityIDを設定します。」だけ行う。IIMCのWeb には「ただしIdPに関する情報は統合認証センターからの指示にしたがってください。」と書いてあるが不要
    3. Moodle の https 化: $wwwroot を 「https〜」 に変更するなど
    4. メタデータの作成: ここの通り
    5. shib.conf の編集: README.txt の 1.の通り
    6. Moodle の認証設定: README.txt の通り
      1. auth/shibboleth/index.php を「代替ログインURL」に設定するのを忘れずに
    7. Moodle のマニュアルログインスクリプトの作成

      [code][uep@kvm420 login]$ diff manual.php index.php
      278c278
      < /* Disable alternative login URL

      >
      299c299
      < */

      >
      304c304
      < /*

      >
      308c308
      < */

      >[/code]

  • Moodle の Shibboleth 認証でデフォルトユーザ名を設定する

    NIIのMoodle は学認、すなわち Shibboleth に対応している。認証時に参加機関の IdP からは姓名などの情報は送出していないため、ログインすると「あなたは としてログインしています」となる。これを「あなたは GakuNin User としてログインしています」に変更するために行ったプチハック (ほんとうに大したことはやっていない。自分の備忘録ていど) をまとめておく。

    Shibboleth 認証を実現するプラグインは (Moodleディレクトリ)/auth/shibboleth 以下に存在している。Shibboleth 認証を行いたいときには、(Moodleディレクトリ)/auth/shibboleth/index.php にアクセスするよう(apacheなどを)設定する必要がある。(IdP から送出された)属性のコントロールは、auth.php 中の get_userinfo() で、$result() を返すことで行っている。つまりこの配列を直接ゴニョゴニョやれば良いだけである。詳しくは README.txt に書いてある。

    もちろん、Moodle の Shibboleth 設定中の「データマッピング」を適切に行う必要があるのは言うまでもない。