---
order: 2
---
# 授信应用

SuccBI提供了“授信应用”机制以实现对第三方系统的身份认证，以便第三方系统调用SuccBI的API、访问资源或单点登录，如：

1. 第三方系统无密码访问SuccBI的API并获取相关数据
2. 第三方系统无密码将SuccBI的报表或仪表板嵌入到第三方系统内部
3. 第三方系统无密码调用SuccCI的API自动上报数据

**授信应用**机制使用严密的加密机制“信任”并“只允许”被信任的“应用”访问系统，确保数据的安全。系统支持以下授信应用方式：

\[\[toc]]

## IP授信应用{#trust-ip}

IP授信应用是第三方系统通过服务器向SuccBI服务发送认证请求，然后SuccBI在完成身份认证后向第三方系统发放登录令牌，最后第三方系统使用登录令牌登录到SuccBI的方式完成认证。但是由于对固定IP的需求，适合于内网以及IP地址相对稳定的场景，网络不稳定或互联网环境不推荐使用。

![IP授信应用配置](./images/trust-ip-conf.png)

注册IP授信应用的配置如下：

- 应用ID：为授信应用分配的公开唯一id,获取SuccBI身份时需要提供给SuccBI认证应用身份，必填。
- 应用名称： 对应用的简要描述,非必填。
- 应用密匙：授信应用用于获取系统认证的秘钥，必填。
- 授权方式：选择 `信任IP`。
- IP地址： 第三方系统服务器的IP地址，系统在确认用户身份的时候会确认是哪个IP发来的认证请求，必填。
- 用户组：用于限制第三方系统可以申请那些用户用于登录，不填则默认可用使用系统中的所有用户。

完成IP授信应用注册后，还需要第三方系统的一些开发工作，才能真正的让第三方系统访问SuccBI，参考[开发IP授信应用](../../dev/integrate/dev-ip-token.md)。

## 证书授信应用{#trust-cert}

证书授信是通过数字证书的私钥公钥加密机制来实现系统对第三方系统的身份认证。第三方系统持有私钥，SuccBI持有公钥，第三方系统使用私钥加密一个令牌后发送给SuccBI，SuccBI通过公钥验证令牌的合法性来识别第三方系统的身份是否合法。证书授信安全级别较高，适用于各种网络环境。除此之外，SuccBI还提供与证书授信应用对应的方式，以方便第三方系统将SuccBI设置为授信应用，详见[系统证书](#systemcert)。

设置界面在 **系统设置** > **安全** > **授信应用** > **工具栏** > **添加应用**：
![证书授信应用配置](./images/trust-cert-conf.png)

注册证书授信应用配置如下：

- 应用ID：为授信应用分配的公开唯一id，获取SuccBI身份时需要提供给SuccBI认证应用身份，必填。
- 应用名称：对应用简要描述，非必填。
- 授权方式：选择`证书授信`。
- 证书：为证书的`公钥`，用于界面认证信息。证书的生成方式为`RSA 1024`位，秘钥格式为`PKCS#8`，`不需要证书密码`。\
  也可通过`生成证书`按钮来生成证书，弹窗所展示内容即为`私钥`。
  ![证书授信应用配置](./images/trust-cert-creator.png)

完成了证书授信的系统设置后，还需要第三方系统的一些开发工作，才能真正的让第三方系统访问SuccBI，具体见[开发数字证书登录令牌](../../dev/integrate/dev-ca-token.md)。

## 系统证书{#systemcert}

与[证书授信应用](#证书授信应用)相对的是，SuccBI持有私钥，第三方系统持有公钥的方式，供第三方系统将SuccBI设置为授信应用。系统通过`私钥`加密认证信息然后将认证信息发送给第三方系统，第三方系统通过`公钥`验证私钥的合法性来识别第三方系统身份。

系统证书的`公私钥`不会自动生成，需要管理员在指定系统ID后手动生成。设置界面在 **系统设置** > **安全** > **授信应用** > **工具栏** > **系统证书**：

![生成系统证书](./images/systemcert-creator.png)
![查看生成系统证书](./images/systemcert.png)

注:

1. 为保证`私钥`的保密性，设置界面上不会展示`私钥`，若要查看`私钥`请在元数据`/sysdata/settings/settings.json`中键名为`security.trustedapps.systemCert`的配置中查看
2. 证书的`公钥`为界面中的`证书`选项中。
3. 重新生成系统证书前请务确认其它系统有没有正在使用这个证书，以避免造成不必要的麻烦。
