3.1.4 嵌入式 DS

环境准备

同 shibboleth-sp 安装

yum 安装 eds

yum install shibboleth-embedded-ds

安装目录

默认会安装到 /etc/shibboleth-ds 同时会自动配置 apache ,对此目录下的 5 个文件路径别名

# Basic Apache configuration

<IfModule mod_alias.c>
  <Location /shibboleth-ds>
    Allow from all
    <IfModule mod_shib.c>
      AuthType shibboleth
      ShibRequestSetting requireSession false
      require shibboleth
    </IfModule>
  </Location>
  Alias /shibboleth-ds/idpselect_config.js /etc/shibboleth-ds/idpselect_config.js
  Alias /shibboleth-ds/idpselect.js /etc/shibboleth-ds/idpselect.js
  Alias /shibboleth-ds/idpselect.css /etc/shibboleth-ds/idpselect.css
  Alias /shibboleth-ds/index.html /etc/shibboleth-ds/index.html
  Alias /shibboleth-ds/blank.gif /etc/shibboleth-ds/blank.gif
</IfModule>

使用

在网站中嵌入 js 和 css 文件。

<link rel="stylesheet" type="text/css" href="idpselect.css">
<div id="idpSelect"></div>
<!-- Load languages scripts -->
<script src="idpselect_config.js" type="text/javascript" language="javascript"></script>
<script src="idpselect.js" type="text/javascript" language="javascript"></script>

默认提供了一个 index.html ,供测试

SP 配置

只需讲 SP 的 SSO 重定向指向嵌入式 DS 所在的 web 页即可,以默认的 index.html 为例

<SSO discoveryProtocol="SAMLDS" discoveryURL="https://sp.example.org/shibboleth-ds/index.html">
   SAML2 SAML1
</SSO>

定制化

由于默认提供的 js 过于简陋且不易修改.通常建议自行定制开放对应的页面. DS 本身只是提供一个跳转链接,所供选择的列表由 SP 的以下接口产生 - https://sp.example.og/Shibboleth.sso/DiscoFeed

[
{
 "entityID": "https://idp.tongji.edu.cn/idp/shibboleth",
 "DisplayNames": [
  {
  "value": "03:同济大学",
  "lang": "zh-CN"
  }
 ]
},
{
 "entityID": "https://idp.ecust.edu.cn/idp/shibboleth",
 "DisplayNames": [
  {
  "value": "05:华东理工大学",
  "lang": "zh-CN"
  }
 ]
},
{
 "entityID": "https://idp.dhu.edu.cn/idp/shibboleth",
 "DisplayNames": [
  {
  "value": "07:东华大学",
  "lang": "zh-CN"
  }
 ]
}
.....

建议应用自行获取后,进行二次开发定制自己的嵌入式 DS

results matching ""

    No results matching ""