---
navTitle: sso
---
# sso - 单点登录扩展

单点登录扩展(Single Sign-On)帮助第三方开发者实现一个个性化的、可复用的、可配置化的单点登录扩展插件。安装单点登录扩展插件后，会在**系统设置** > **单点登录**中自动显示一个新的单点登录配置方案，用户选择**启用**后可显示扩展提供的配置参数，配置完成并保存后即可使用安装的单点登录扩展进行系统登录认证。

通过扩展插件可以实现多种常见的单点登录需求：

1. 增加一个个性化的OAuth2单点登录机制，如支持企业微信
2. 支持LDAP服务器、Windows域认证
3. 支持某些特定HTTP头的身份认证
4. 数字证书单点登录
5. ……

## 扩展文件结构

```ts
/
├──package.json //定义扩展的配置信息
├──main.action.ts //扩展的主体代码，提供后端的脚本逻辑
├──main.action //main.action.ts编译后产生的文件
└──thumbnail.png //缩略图
```

### package.json

在`package.json`中可以配置扩展提供出去的配置选项，这些选项会出现在**系统设置** > **单点登录**中。

```json
"contributes":{
    "sso":{
        "settingsForm":{},
    }
}
```

## main.action.ts

单点登录主要是后端的逻辑，`main.action.ts`是扩展的后端脚本的默认入口，定义了单点登录扩展需要实现的一些函数逻辑。

<<< @/../../bi/com.succez.bi/web/static-file/extension/extensions/template-sso-blank/main.action.ts
