注意 |
---|
If you are using TiqrShib version 2.0, we strongly recommend you update it to 2.1 or later. |
...
最近の更新 |
---|
添付ファイル |
---|
CD内のtiqrshib20130329.tar.gzを利用したtiqrshibのインストールについて。
以下では、Shibboleth IdP(ID、パスワード認証)が動作している環境へのインストール手順として記述しています。
- Shibboleth SPをインストール、設定
- TiqrShibを配置(CDのtar.gzの解凍)
- 関連ライブラリを配置
- ライブラリのバグ修正
- Apacheの設定
- ShibbolethへのTiqrShibハンドラー設定
- TiqrShibの初期値設定
1. Shibboleth SPをIdPサーバにインストール、設定
Tiqr登録時のID,パスワード認証用。IdPでは、フェデレーションとは別の、単独のメタデータとして設定。SPには、このIdPのメタデータのみを設定。
2. TiqrShibを配置
CDのtar.gzを解凍して、
解凍ディレクトリ内のtiqrzenddemoを/var/tiqrzenddemo に配置。
解凍ディレクトリ内のvar/www/html/TiqrShibを/var/www/html/TiqrShibに配置(trans.phpの配置)。
3. 関連ライブラリを配置
下記をダウンロードして配置
アプリケーション | バージョン | ダウンロードサイト |
---|---|---|
Tiqr-library | 1.0.0 | |
Tiqr-zendframework | 1.0.0 | |
ZendFramework | 1.12.2-minimal |
|
phpqrcode | 1.1.4 |
|
コード ブロック |
---|
mkdir /var/www/library
cp -rf tiqr-server-library-1.0.0/library/tiqr /var/www/library/libTiqr
cp -rf tiqr-server-zendframework-1.0.0/library/tiqr-zf /var/www/library/tiqr-zf
cp -rf phpqrcode /var/www/library/phpqrcode
ZendFramework-1.12.1-minimalを/usr/shareに展開して、
ln -s ZendFramework-1.12.1-minimal ZendFramework
|
【ライブラリ リンク作成】=>作業報告書P24
(*) 上記はリンクでなく、直接でもよいです。
【library設定】=>作業報告書P21
4. ライブラリのバグ修正
【ZendFramework修正】=>作業報告書P23
【Tiqr,Tiqr-zf修正】=>作業報告書P25-P30(P28はTiqrShibに反映済み)
5. Apacheの設定
<httpd.conf>
追記:
コード ブロック |
---|
Alias /tiqr/ "/var/tiqrzenddemo/public/"
|
<ssl.conf>
追記:
コード ブロック |
---|
<Location /tiqr>
RewriteEngine On
RewriteBase /tiqr
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /tiqr/index.php [NC,L]
</Location>
|
【.htacsess設定】=>作業報告書P22
6. ShibbolethへのTiqrShibハンドラー設定
CDのtiqrshibAuthn.javaをコンパイルして、tiqrshibAuthn.classを作成。
/usr/java/tomcat/webapps/idp/WEB-INF/class/を作成して配置。
コンパイルは、こんな感じです;
コード ブロック |
---|
javac -classpath /usr/java/tomcat/lib/servlet-api.jar:/root/shibIdP230/shibboleth-identityprovider-2.3.0/lib/shibboleth-common-1.3.0.jar:/root/shibIdP230/shibboleth-identityprovider-2.3.0/lib/shibboleth-identityprovider-2.3.0.jar:/root/shibIdP230/shibboleth-identityprovider-2.3.0/lib/shibboleth-jce-1.1.0.jar:/root/shibIdP230/shibboleth-identityprovider-2.3.0/lib/slf4j-api-1.6.1.jar:/root/shibIdP230/shibboleth-identityprovider-2.3.0/lib/openws-1.4.2.jar:/root/shibIdP230/shibboleth-identityprovider-2.3.0/lib/xmltooling-1.3.2.jar tiqrshibAuthn.java
|
web.xmlとhandler.xmlの設定。=>作業報告書P38,P39
(*) handler.xmlでの設定は、UserPasswordハンドラーを残したままで、
(つまり、コメントアウトしないで、)追加して下さい。
【Shib設定】
(1) IdPの設定
・Username/PasswordHandlerをデフォルトにする設定。
/usr/java/tomcat/webapps/idp/WEB-INF/web.xmlに下記を追記。
コード ブロック |
---|
<!-- Servlet for doing Username/Password authentication -->
<servlet>
<servlet-name>UsernamePasswordAuthHandler</servlet-name>
<servlet-class>edu.internet2.middleware.shibboleth.idp.authn.provider.UsernamePasswordLoginServlet</servlet-class>
<init-param>
<param-name>authnMethod</param-name>
<param-value>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
|
relying-party.xmlに下記を設定。
コード ブロック |
---|
<rp:DefaultRelyingParty provider="https://IdPサーバ/idp/shibboleth"
defaultSigningCredentialRef="IdPCredential"
defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
|
(2) IdPサーバのSPの設定
shibboleth2.xmlへのSessionInitiator追加
コード ブロック |
---|
<!-- Special SessionInitiator for Tiqr!!! -->
<SessionInitiator type="SAML2" Location="/TiqrShib" id="siid1" entityID="https://simptest2.nec.test/idp/shibboleth" template="bindingTemplate.html" authnContextClassRef="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" />
|
/etc/httpd/conf.d/shibd.confへの追加
コード ブロック |
---|
<Location /TiqrShib>
AuthType shibboleth
ShibRequestSetting requireSessionWith siid1
require valid-user
</Location>
|
(3) SPの設定(Tiqr認証を要求するIdPサーバとは別のSPの設定)
SessionInitiatorで、="urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract"を設定する。
コード ブロック |
---|
<SessionInitiator type="Chaining" Location="/DS" isDefault="true" id="tiqrshiblogin" authnContextClassRef="urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract">
<SessionInitiator type="SAML2" template="bindingTemplate.html"/>
<SessionInitiator type="Shib1"/>
<SessionInitiator type="SAMLDS" URL="https://DSサーバ/ds/WAYF"/>
</SessionInitiator>
|
7. TiqrShibの初期値設定
application/Bootstrap.phpに初期値読み込みを設定。(=>作業報告書P34)
コード ブロック |
---|
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
// retrieve tiqrshib constants
protected function _initConstants()
{
$options = $this->getOption('constants');
if (is_array($options)) {
foreach($options as $key => $value) {
if(!defined($key)) {
define($key, $value);
}
}
}
}
protected function _initLogger() {
$this->bootstrap("log");
$logger = $this->getResource("log");
Zend_Registry::set("logger", $logger);
}
}
|
(*) CDのtiqrshibコードには、ログ出力コードを入れているため、
上記のLogger設定も必要。
【Tiqr初期値設定】(作業報告書P33)
/var/tiqrzenddemo/application/config/application.iniの設定を修正。
...