Seafile

2022-11-29 16:48 星期二

本页面主要介绍将Seafile集成到IDaaS中的过程,使用户可以在用户门户单点登录Seafile。

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。

提示:需要按照关联策略中的规则,认证通过后登录进其应用系统。