2. Edit apache 設定,增加
Alias /sso /var/www/simplesaml/www
安裝如果正常可連結至 http://xxx.edu.tw/sso 看到以下畫面
3.Edit
config.php
#vi config/config.php
21 行
'baseurlpath' => 'sso/',
60 行
'auth.adminpassword' => 'yourpassword',
72 行
使用 tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' </dev/urandom | dd bs=32 count=1 2>/dev/null;echo 產生
'secretsalt' => ' yourcode',
79 行
'technicalcontact_name' => 'Admin',
'technicalcontact_email' => 'admin@xxx.edu.tw',
89 行
'timezone' => 'Asia/Taipei',
141 行
'enable.saml20-idp' => true,
212 行
language.default' => 'zh-tw',
4. 設定 SSL key
#openssl genrsa -des3 -out googleappsidp.key 1024
#openssl rsa -in googleappsidp.key -out googleappsidp.pem
#openssl req -new -key googleappsidp.key -out googleappsidp.csr
#openssl x509 -req -days 9999 -in googleappsidp.csr -signkey googleappsidp.key -out googleappsidp.crt
then, copy key to /simplesaml/cert
5. 設定認證來源
# vi config/authsources.php 182 行開始
'example-ldap' => array(
'ldap:LDAP',
'hostname' => '123.123.123.123',
'enable_tls' => FALSE,
'debug' => FALSE,
'timeout' => 0,
'attributes' => NULL,
'dnpattern' => 'uid=%username%',
'search.enable' => TRUE,
'search.base' => 'o=users',
'search.attributes' => array('uid', 'mail','Password','givenName'),
'search.username' => 'cn=manage,o=domain',
'search.password' => 'youradminpassword',
'priv.read' => FALSE,
'priv.username' => NULL,
'priv.password' => NULL,
),
6.設定 metadata for an SAML 2.0 IdP
#vi metadata/saml20-idp-hosted.php
17 行
'privatekey' => 'googleappsidp.pem',
'certificate' => 'googleappsidp.crt',
24 行
'auth' => 'example-ldap',
7.設定 metadata for an SAML 2.0 IdP
#vi metadata/saml20-sp-remote.php
22 行
$metadata['google.com/a/xxx.edu.tw'] = array(
'AssertionConsumerService' => 'https://www.google.com/a/xxx.edu.tw/acs',
'NameIDFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:email',
'simplesaml.nameidattribute' => 'uid',
'simplesaml.attributes' => FALSE,
8. 設定 Google apps single sign-on (SSO)
登入網頁
http://xxx.edu.tw/sso/saml2/idp/SSOService.php
登出網頁
http://xxx.edu.tw/sso/saml2/idp/initSLO.php?RelayState=/simplesaml/logout.php
變更密碼改為貴單位 LDAP 更改密碼頁面
上傳憑證 googleappsidp.crt
9.測試登入頁面
http://mail.google.com/a/yourgoogleappsdomain.com
10.強烈建議網頁使用 SSL