tachybase_todo/packages/plugins/@tachybase/plugin-saml/README.zh-CN.md
sealday ede7ead8b1 chore(version): release v0.21.34 (#1045)
Co-authored-by: sealday <sealday@gmail.com>
Reviewed-on: daoyoucloud/tachybase#1045
2024-05-24 01:06:06 +08:00

56 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SAML
提供SAML2.0 SSO登录功能。
## 依赖
- `@tachybase/auth` 认证插件,提供认证相关功能,表、模型、函数复用等。
## 使用方法
> 以Google WorkSpace IdP为例
### 将Google设置为IdP
[Google管理控制台](https://admin.google.com/) - 应用 - Web应用和移动应用
<img src="https://s2.loli.net/2023/05/18/O7UYh9pjePrKzTq.png" width="800px" />
进行应用设置之后,复制**SSO网址**、**实体ID**和**证书**。
<img src="https://s2.loli.net/2023/05/18/Mpwk3dAIvShmUCe.png" width="800px"/>
### 在Nocobase上新增认证器
插件设置 - 认证 - 新增 - SAML
<img src="https://s2.loli.net/2023/05/18/EpXsJ1BM5lju2mY.png" width="800px" />
将刚才复制的信息依次进行填写
- SSO URL: SSO网址
- Public Certificate: 证书
- idP Issuer: 实体id
- http: 如果是本地http测试可以勾选
之后复制`Usage`中的`SP Issuer/EntityID`和`ACS URL`.
### 在Google上填写SP信息
回到Google控制台在**服务提供商详细信息**页面输入刚才复制的ACS网址和实体ID并勾选**已签署响应**。
在**属性映射**位置添加映射映射对应属性Nocobase可供映射的字段有
- email必填
- phone (仅对scope支持phone的平台生效如阿里云)
- nickname
- username
- firstName
- lastName
用户名使用规则优先级: `nickname` > `username` > `firstName lastName` > `nameID`
`nameID`为SAML协议携带无需映射将作为用户唯一标识保存。
在有email或nameID为email的情况下登录时将尝试匹配已有用户否则创建新用户。