// ---------------------------------------------------------------------------- uApprove.jp インストール // ---------------------------------------------------------------------------- ・インストール資料  https://www.switch.ch/aai/downloads/uApprove-2.1.3-manual.html // ---------------------------------------------------------------------------- 1.IdPのインストール   構築・運用手順書を元にインストールを行ってください。   $TOMCAT_HOME/webapps/idp.war を配備し、一度tomcatを起動して展開しておいてください。 // ---------------------------------------------------------------------------- 2.データベースのインストール   各ユーザのuApprove使用状況等の保存のため、データベース(MySQL推奨)をインストールします。   ファイルベースでも可能ですが、ユーザ数が100以下等の小規模構成の場合に限られます。   DBの内容は、https://www.switch.ch/aai/downloads/uApprove-2.1.3-manual.html の設定をその   まま使用できます。   ※arpViewerと同じテーブル構成ですが、DB名が異なります。 // ---------------------------------------------------------------------------- 3.uApproveインストール 3−1.uApproveのコンフィグ等を置くディレクトリを作成(任意)   mkdir /opt/shibboleth-idp/uApprove   以下、このディレクトリにコンフィグを配備する前提で記述します。 3−2.uApprove.jp-2.1.3-bin.zipを適当なディレクトリで解凍 3−3.解凍後のディレクトリに移動し、2つのzipアーカイブを解凍   cd uApprove.jp-2.1.3   unzip idp-plugin-2.1.3-bin.zip   unzip viewer-2.1.3-bin.zip 3−4.IdPのプラグイン用ファイルの配備   cp idp-plugin-2.1.3/conf-template/* /opt/shibboleth-idp/uApprove   cp idp-plugin-2.1.3/lib/* $TOMCAT_HOME/webapps/idp/WEB-INF/lib/   ※以下の8つのファイルをコピーします。 bcprov-jdk15-140.jar commons-cli-1.1.jar idp-plugin-2.1.3.jar mysql-connector-java-5.1.6.jar common-2.1.3.jar commons-logging-1.1.1.jar json-simple-1.0.jar vt-crypt-2.0.jar shibboleth-uApprove-1.0.0.jar   ○uApprove.jpでの変更点   shibboleth-uApprove-x.x.x.jarは、uApprove.jp用モジュールです。 3−5.viewer用ファイルの配備   cp viewer-2.1.3/conf-template/* /opt/shibboleth-idp/uApprove   ※IdPのプラグインと重複するファイルがいくつかありますが、内容は同じです。   cp -r viewer-2.1.3/webapp $TOMCAT_HOME/webapps/uApprove // ---------------------------------------------------------------------------- 4.コンフィグ設定 4−1./opt/shibboleth-idp/uApproveにコピーしたコンフィグファイル内のパス修正   デフォルトでは/path/to/configというディレクトリになっているので、環境に合わせてください。 4−2./opt/shibboleth-idp/uApprove/common.properties termsOfUse=/opt/shibboleth-idp/uApprove/terms-of-use.xml ※←ディレクトリ修正 storageType=database ※←コメントアウトを外す databaseConfig=/opt/shibboleth-idp/uApprove/database.properties ※←コメントアウトを外す #storageType=file ※←コメントアウト #flatFile=/path/to/config/uApprove-log.xml ※←コメントアウト 4−3./opt/shibboleth-idp/uApprove/database.properties   DBを使用する場合: password=uApprove ※←DBの設定に合わせて変更 sqlCommands=/opt/shibboleth-idp/uApprove/mysql.commands ※←ディレクトリ修正 4−4./opt/shibboleth-idp/uApprove/idp-plugin.properties spBlacklist = /opt/shibboleth-idp/uApprove/sp-blacklist ※←コメントアウト(なくても可) uApproveViewer=https://idp.example.org/uApprove/Controller ※←URL修正 4−5./opt/shibboleth-idp/uApprove/viewer.properties useLocale = en_US ※←文字コード設定 attributeList=/opt/shibboleth-idp/uApprove/attribute-list ※←ディレクトリ修正 loggingConfig=/opt/shibboleth-idp/uApprove/logging.xml ※←ディレクトリ修正 4−6./opt/shibboleth-idp/uApprove/attribute-list   このリストに記述された属性がビューアに表示されます。   attribute-resolver.xmlので規定された   属性を指定してください。   行頭に「!」がついている属性は、uApproveの画面には表示されず、ユーザの確認は行わずに、   SPに送信されます。 eduPersonPrincipalName eduPersonTargetedID organizationName organizationalUnit eduPersonEntitlement eduPersonAffiliation eduPersonScopedAffiliation email givenName surname displayName jasurname jagivenName jadisplayName jaorganizationName jaorganizationalUnit   ※ビューア画面に表示されない項目でも、attribute-resolver.xmlや   attribute-filter.xmlで設定されていれば、送信されます。   ○uApprove.jpでの変更点   uApprove.jpでは、属性の値が変更された場合は、送信する属性を再度ユーザに確認しますが、   attribute-listで行頭に「!」がついている属性については値が変更されても、ユーザに確認   を求めません。 4−7./opt/shibboleth-idp/uApprove/logging.xml /opt/shibboleth-idp/log/uApprove.log ※←ディレクトリ修正 // ---------------------------------------------------------------------------- 5.IdPの設定 5−1.$TOMCAT_HOME/webapps/idp/WEB-INF/web.xml   の中に下記を追加します。 ... uApprove IdP plugin ch.SWITCH.aai.uApprove.idpplugin.Plugin Config /opt/shibboleth-idp/uApprove/idp-plugin.properties; /opt/shibboleth-idp/uApprove/common.properties; uApprove IdP plugin /profile/* REQUEST FORWARD ... 5−2.$TOMCAT_HOME/webapps/idp/login.jsp   ログイン画面に再送信設定用チェックボックスを追加します。 5−3./opt/shibboleth-idp/conf/attribute-filter.xml   ○uApprove.jpでの変更点   uApprove.jpでは、独自のAttribute Filter "AttributeUpprove"を使用するため、内に   uApprove.jpのネームスペース"http://upki-portal.nii.ac.jp/docs/fed/ns/uapprove-jp"を追記します。 ※←追加   さらに、〜の中にuApprove用のAttributeFilterPlicyを追記します。   属性に対してuApproveののみ適用する場合     ...      属性に対して他のとuApproveのを組み合わせる場合     ...        ...    ※uApprove:AttributeUapproveのパラメータは、以下の意味になります。   ・isApproved:    - true:ユーザが送信を許可した場合にマッチ    - false:ユーザが送信を許可しない場合にマッチ // ---------------------------------------------------------------------------- 6.uApprove webの設定 6−1.$TOMCAT_HOME/webapps/uApprove/WEB-INF/web.xml ... Config /opt/shibboleth-idp/uApprove/viewer.properties; ※←ディレクトリ修正 /opt/shibboleth-idp/uApprove/common.properties; ※←ディレクトリ修正 ... 6−2.Apache設定   /etc/httpd/conf.d/ssl.confに以下を追加します。 ... ProxyPass /uApprove/ ajp://localhost:8009/uApprove/ ※←追加 ... 7.uApprove 必須属性の設定 7−1.SPのメタデータ   ○uApprove.jpでの変更点   の中にの設定を追加します。   必須属性にする属性は、の設定を追加し、isRequired="true"として下さい。 Sample Service An example service that requires a human-readable identifier and optional name and e-mail address. 8.サーバの起動 // ---------------------------------------------------------------------------- 8.tomcat, httpd を再起動します。 // ---------------------------------------------------------------------------- 9.付録 9−1.uApprove.jpのコンパイル   uApprove-2.1.3-src.zipを適当なディレクトリで解凍   解凍後のディレクトリに移動し、パッチを適用   cd uApprove-2.1.3   patch -p1 < /uapprove-jp.patch   ソースをコンパイル   ※Mavenがインストールされていて、mvnのパスが通っているものとします。   mvn clean compile jar:jar 9−2.shibboleth-uApproveのコンパイル   shibboleth-uApprove-1.0.0.tgzを適当なディレクトリで解凍   解凍後のディレクトリに移動し、ソースをコンパイル   cd shibboleth-uApprove-1.0.0   mvn clean compile jar:jar 以上