1. IDaaS平台添加Seafile
1.1 用管理员账号登录飞天云信IDaaS管理平台。
1.2 点击【应用管理】-【企业应用列表】查看自己的所有应用。
1.3 点击【添加应用】按钮,选择【集成应用】,点击【进入应用市场】(或者点击【应用管理】-【应用市场】),选择【Seafile】,填入应用名称后,点击【下一步】,在通用配置处按要求填入信息后,点击【确定】,即可在企业应用列表查看新添加的应用。
字段说明:
字段 | 字段说明 |
集成应用名称 | 通常填写为Seafile,也可自定义。此名称会展示在你的应用列表。 |
认证地址 | 可随意填写,配置完成后用户可复制该链接直接登录到Seafile sea。 |
用户标识 | 访问应用时充当用户标识的属性 |
登录地址 | 一般格式为http://<server hostname> |
回调地址 | 一般格式为http://<server hostname>/oauth/callback/ |
App Secret | 系统自动生成 |
Authorization端点 | 系统自动生成 |
Token端点 | 系统自动生成 |
用户信息端点 | 系统自动生成 |
Issuer | 系统自动生成 |
服务发现地址 | 系统自动生成 |
JWKS公钥端点 | 系统自动生成 |
安全等级 | 该应用未关联任何策略时,将智能匹配对应安全等级的认证策略,具体策略配置详情可在【认证管理】-【自适应认证】页面查看。 |
1.4 在应用列表点击应用图标,切换到【访问授权】标签页,添加允许用户访问权限。
2. Seafile系统配置
配置Seafile,根据Seafile文档,找到Seafile配置文件<seahub_setting.py>,加入如下配置。
# 开启 OAUTH
ENABLE_OAUTH = True
# 非 https 服务需要设置此项
OAUTH_ENABLE_INSECURE_TRANSPORT = True
# OIDC Client ID,从 飞天云信IDaaS管理平台复制
OAUTH_CLIENT_ID = "xxxxxxxxxxxxxx"
# OIDC Client Secret,从 飞天云信IDaaS管理平台复制
OAUTH_CLIENT_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
# OIDC 重定向 URL,一般格式为 http(s)://<your_seafile_domain>/oauth/callback/
OAUTH_REDIRECT_URL = 'http(s)://<your_seafile_domain>/oauth/callback/'
# OIDC Provider Domain,从 飞天云信IDaaS管理平台复制
OAUTH_PROVIDER_DOMAIN = 'xxxx.com'
# OIDC 认证端点,从 飞天云信IDaaS管理平台 复制
OAUTH_AUTHORIZATION_URL = 'https://****.cloudentify.com/api/oauth/authorize'
# OIDC Token 端点,从 飞天云信IDaaS管理平台复制
OAUTH_TOKEN_URL = 'https://****.cloudentify.com/api/oauth/token'
# OIDC 用户信息端点,从 飞天云信IDaaS管理平台 复制
OAUTH_USER_INFO_URL = 'https://****.cloudentify.com/api/oauth/oidc/me'
# OIDC 授权范围,建议填写以下值
OAUTH_SCOPE = ["profile", "openid", "email"]
# OIDC 字段映射, 左边的 key 为 飞天云信IDaaS管理平台 返回的信息 key,右边为 Seafile 中用户信息对应的 key,中间的 True 和 False 表示此字段是否必须不为空,建议按如下填写
OAUTH_ATTRIBUTE_MAP = {
# 飞天云信IDaaS管理平台 不会返回 id,所以为 'not used'
"id": (False, "not used"),
# email 为 Seafile 中用户的唯一标识
"email": (True, "email"),
# 用户名,除了 nickname,还可以取 name, family_name, given_name, middle_name, preferred_username 等值
"nickname": (False, "name")
}
配置完成后重启Seafile。
3. 体验单点登录
3.1 登录用户门户系统。
3.2 登录成功后,在菜单栏【应用中心】处,可以看到1.3添加的Seafile应用,点击应用图标可以单点登录到Seafile。
提示:需要按照关联策略中的规则,认证通过后登录进其应用系统。