公式サイトとオンラインマニュアル
                       (Wiki)の認証連携

              ∼ NetCommons meets MediaWiki with OpenID ∼



                               2012/5/16



12年5月16日水曜日
はじめに

              • 加藤和幸/株式会社テクネコ

              • 津留敏哉/株式会社サンビジネス


12年5月16日水曜日
Agenda
              • 認証連携の実例
              • OpenIDについて
              • MediaWikiへの実装(RP)
              • NetCommonsへの実装(OP)
              • まとめ
12年5月16日水曜日
Agenda
              • 認証連携の実例
              • OpenIDについて
              • MediaWikiへの実装(RP)
              • NetCommonsへの実装(OP)
              • まとめ
12年5月16日水曜日
認証連携の実例




12年5月16日水曜日
動き方




12年5月16日水曜日
動き方2




12年5月16日水曜日
使ったもの
              • NetCommons 2.3.3
              • MediaWiki 1.18.1
              • OpenID 2.0
              • PHP 5.3
              • etc...
12年5月16日水曜日
Agenda
              • 認証連携の実例
              • OpenIDについて
              • MediaiWikiへの実装(RP)
              • NetCommonsへの実装(OP)
              • まとめ
12年5月16日水曜日
OpenIDについて
              • 認証を連携させる為の仕組み

              • 認証する側   → OP
               認証してもらう側 → RP


              • 属性交換の為の拡張仕様
12年5月16日水曜日
属性交換の拡張仕様
   • SREG (Simple REGistration)
   • AX (Attribute eXchange)




12年5月16日水曜日
SREGのサンプル




12年5月16日水曜日
Agenda
              • 認証連携の実例
              • OpenIDについて
              • MediaiWikiへの実装(RP)
              • NetCommonsへの実装(OP)
              • まとめ
12年5月16日水曜日
MediaWikiへの実装(RP)

   • OpenID用のエクステンションを使う

   • エクステンションをカスタマイズする

12年5月16日水曜日
Extension:OpenID
         • GPL
         • PHP 5.2.17, 5.3




12年5月16日水曜日
Extension:OpenID
              • 必要なPHPモジュール
               • openssl
               • gmp
               • mcrypt
               • bzip2
              • 「MediaWikiにOpenID拡張をインストール」
               http://d.hatena.ne.jp/turutosiya/20100725/p1

12年5月16日水曜日
OpenID関連のカスタマイズ
      • netcommons.org とだけ認証連携をするように
      • netcommons.org の権限を引き継ぐ(SREG)
      • その他UI関連(ラベル・アイコン)

      • 計 7 ファイル, 100 行程度
12年5月16日水曜日
権限の引き継ぎ
    • NetCommons上の管理者
         → MediaWiki 上でも管理者に




12年5月16日水曜日
権限の引き継ぎ(SREG)
                NetCommons




                 MediaWiki



12年5月16日水曜日
Agenda
              • 認証連携の実例
              • OpenIDについて
              • MediaiWikiへの実装(RP)
              • NetCommonsへの実装(OP)
              • まとめ
12年5月16日水曜日
NetCommons実装(OP)

         • OpenIDのライブラリを使う
         • OpenIDサーバ(OP)を実装するモ
              ジュールを開発



12年5月16日水曜日
ライブラリ
              php-openid(phpライブラリ)by Janrain




12年5月16日水曜日
OpenIDモジュール
  • webapp/modules/openid/Server/Server.class.php
      (?action=openid_server)

         •    OpenID の処理フローの制御

         •    NetCommons上のデータとOpenIDのプロトコル
              の橋渡し(SREG)
         •    サービスディスカバリのために XRDS ドキュメ
              ントを返す

12年5月16日水曜日
OpenIDの処理フロー
              • (RP)サービスディスカバリ
              • (OP)ログイン処理
              • (OP)RPの承認
              • (OP)SREG/AXの等実装
              • (OP)RPにリダイレクト
              • (RP)認証完了後の処理
12年5月16日水曜日
サービスディスカバリ

                                     何のサービスが

                            どのURLで利用できるか



          X-XRDS-Location: path/to/yadis-document.xml

12年5月16日水曜日
MEETS!




12年5月16日水曜日
Agenda
              • 認証連携の実例
              • OpenIDについて
              • MediaiWikiへの実装(RP)
              • NetCommonsへの実装(OP)
              • まとめ
12年5月16日水曜日
まとめ
      • OpenID を実装するときは、プラグイン・ラ
          イブラリを上手に利用するべき

      • NetCommonsをOpenIDサーバー(OP)にする
              と、校内システムの認証を一元化が可能

      • (OpenIDではないけど)Facebook との連携も
              良さそう

12年5月16日水曜日
ご相談は
•   株式会社テクネコ(担当:加藤)

•   info@techneco.co.jp

•   TEL:090-6108-1324

•   http://www.techneco.co.jp

•   コモンズネット正会員

•   共著:NetCommons公式ガイドブック

 『私にもできちゃった!NetCommonsで本格ウェブサイト』

                      近代科学社
12年5月16日水曜日

公式サイトとオンラインマニュアル(Wiki)の認証連携 ~ NetCommons meets MediaWiki with OpenID ~

  • 1.
    公式サイトとオンラインマニュアル (Wiki)の認証連携 ∼ NetCommons meets MediaWiki with OpenID ∼ 2012/5/16 12年5月16日水曜日
  • 2.
    はじめに • 加藤和幸/株式会社テクネコ • 津留敏哉/株式会社サンビジネス 12年5月16日水曜日
  • 3.
    Agenda • 認証連携の実例 • OpenIDについて • MediaWikiへの実装(RP) • NetCommonsへの実装(OP) • まとめ 12年5月16日水曜日
  • 4.
    Agenda • 認証連携の実例 • OpenIDについて • MediaWikiへの実装(RP) • NetCommonsへの実装(OP) • まとめ 12年5月16日水曜日
  • 5.
  • 6.
  • 7.
  • 8.
    使ったもの • NetCommons 2.3.3 • MediaWiki 1.18.1 • OpenID 2.0 • PHP 5.3 • etc... 12年5月16日水曜日
  • 9.
    Agenda • 認証連携の実例 • OpenIDについて • MediaiWikiへの実装(RP) • NetCommonsへの実装(OP) • まとめ 12年5月16日水曜日
  • 10.
    OpenIDについて • 認証を連携させる為の仕組み • 認証する側   → OP 認証してもらう側 → RP • 属性交換の為の拡張仕様 12年5月16日水曜日
  • 11.
    属性交換の拡張仕様 • SREG (Simple REGistration) • AX (Attribute eXchange) 12年5月16日水曜日
  • 12.
  • 13.
    Agenda • 認証連携の実例 • OpenIDについて • MediaiWikiへの実装(RP) • NetCommonsへの実装(OP) • まとめ 12年5月16日水曜日
  • 14.
    MediaWikiへの実装(RP) • OpenID用のエクステンションを使う • エクステンションをカスタマイズする 12年5月16日水曜日
  • 15.
    Extension:OpenID • GPL • PHP 5.2.17, 5.3 12年5月16日水曜日
  • 16.
    Extension:OpenID • 必要なPHPモジュール • openssl • gmp • mcrypt • bzip2 • 「MediaWikiにOpenID拡張をインストール」 http://d.hatena.ne.jp/turutosiya/20100725/p1 12年5月16日水曜日
  • 17.
    OpenID関連のカスタマイズ • netcommons.org とだけ認証連携をするように • netcommons.org の権限を引き継ぐ(SREG) • その他UI関連(ラベル・アイコン) • 計 7 ファイル, 100 行程度 12年5月16日水曜日
  • 18.
    権限の引き継ぎ • NetCommons上の管理者 → MediaWiki 上でも管理者に 12年5月16日水曜日
  • 19.
    権限の引き継ぎ(SREG) NetCommons MediaWiki 12年5月16日水曜日
  • 20.
    Agenda • 認証連携の実例 • OpenIDについて • MediaiWikiへの実装(RP) • NetCommonsへの実装(OP) • まとめ 12年5月16日水曜日
  • 21.
    NetCommons実装(OP) • OpenIDのライブラリを使う • OpenIDサーバ(OP)を実装するモ ジュールを開発 12年5月16日水曜日
  • 22.
    ライブラリ php-openid(phpライブラリ)by Janrain 12年5月16日水曜日
  • 23.
    OpenIDモジュール •webapp/modules/openid/Server/Server.class.php (?action=openid_server) • OpenID の処理フローの制御 • NetCommons上のデータとOpenIDのプロトコル の橋渡し(SREG) • サービスディスカバリのために XRDS ドキュメ ントを返す 12年5月16日水曜日
  • 24.
    OpenIDの処理フロー • (RP)サービスディスカバリ • (OP)ログイン処理 • (OP)RPの承認 • (OP)SREG/AXの等実装 • (OP)RPにリダイレクト • (RP)認証完了後の処理 12年5月16日水曜日
  • 25.
    サービスディスカバリ 何のサービスが どのURLで利用できるか X-XRDS-Location: path/to/yadis-document.xml 12年5月16日水曜日
  • 26.
  • 27.
    Agenda • 認証連携の実例 • OpenIDについて • MediaiWikiへの実装(RP) • NetCommonsへの実装(OP) • まとめ 12年5月16日水曜日
  • 28.
    まとめ • OpenID を実装するときは、プラグイン・ラ イブラリを上手に利用するべき • NetCommonsをOpenIDサーバー(OP)にする と、校内システムの認証を一元化が可能 • (OpenIDではないけど)Facebook との連携も 良さそう 12年5月16日水曜日
  • 29.
    ご相談は • 株式会社テクネコ(担当:加藤) • info@techneco.co.jp • TEL:090-6108-1324 • http://www.techneco.co.jp • コモンズネット正会員 • 共著:NetCommons公式ガイドブック 『私にもできちゃった!NetCommonsで本格ウェブサイト』                      近代科学社 12年5月16日水曜日