---
title: "应用注册 - QiSSO"
description: "配置客户端类型、回调地址、授权流程、权限与客户端密钥。"
canonical_url: "https://docs.mcent.cn/qisso/application-registration"
---
# 应用注册 - QiSSO

> 配置客户端类型、回调地址、授权流程、权限与客户端密钥。

由管理员在 QiSSO 的“OIDC 应用”中注册业务系统。普通接入方不使用动态客户端注册，也不通过数据库写入应用或密钥。

## 准备应用信息

<table>
<thead>
  <tr>
    <th>
      配置
    </th>
    
    <th>
      说明
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      应用名称
    </td>
    
    <td>
      用户能够识别的业务系统名称
    </td>
  </tr>
  
  <tr>
    <td>
      应用首页
    </td>
    
    <td>
      业务系统的绝对 HTTP(S) 地址；系统按首页的主机与端口识别业务应用归属
    </td>
  </tr>
  
  <tr>
    <td>
      Client ID
    </td>
    
    <td>
      稳定的客户端标识，按本环境分配
    </td>
  </tr>
  
  <tr>
    <td>
      客户端类型
    </td>
    
    <td>
      有受信后端使用 <code>
        confidential
      </code>
      
      ；无法保密密钥的客户端使用 <code>
        public
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      回调地址
    </td>
    
    <td>
      授权完成后接收 <code>
        code
      </code>
      
       与 <code>
        state
      </code>
      
       的完整绝对地址
    </td>
  </tr>
  
  <tr>
    <td>
      授权流程
    </td>
    
    <td>
      按需开启 <code>
        authorization_code
      </code>
      
      、<code>
        refresh_token
      </code>
      
      、<code>
        client_credentials
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      认证方式
    </td>
    
    <td>
      公共客户端为 <code>
        none
      </code>
      
      ；机密客户端选择 <code>
        client_secret_basic
      </code>
      
       或 <code>
        client_secret_post
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      Scope
    </td>
    
    <td>
      仅选择本应用所需、且已获批准的身份或服务权限
    </td>
  </tr>
</tbody>
</table>

同一业务系统使用一个 OIDC 应用，可同时承载用户登录与获准的服务端调用。不要按页面、按钮或前后端分别注册重复应用。管理员配置的应用首页参与业务归属去重，同一主机与端口下的不同路径不能据此创建多个独立应用。

## 配置用户登录

带 BFF 的网站可按以下值开始：

```text
应用首页：https://app.example.com
Client ID：example-app
客户端类型：confidential
回调地址：https://app.example.com/login/callback
授权流程：authorization_code
响应类型：code
PKCE：启用
认证方式：client_secret_basic
Scope：openid profile email
```

授权码流程需要 `openid`、至少一个回调地址和 `code` 响应类型。公共客户端必须启用 PKCE；机密客户端接入也使用 S256 PKCE，不因持有密钥而省略它。

回调按完整地址登记，并在请求与换码时保持一致。生产使用 HTTPS，不使用通配回调或把任意跳转地址当作 OAuth 回调。登录后返回业务页面的路径应由业务系统单独校验。

## 按需增加能力

- **刷新令牌**：同时开启 `refresh_token` 授权流程并允许 `offline_access` scope，登录时也请求该 scope。令牌是否实际返回以服务器响应为准。
- **服务端调用**：仅机密客户端可开启 `client_credentials`，且必须包含获准的服务 scope。仅开启授权流程不代表已获资源接口访问权，见[服务端调用](https://docs.mcent.cn/qisso/server-integration)。
- **嵌入式登录**：在应用中开启嵌入式登录，填写准确的 Web 来源；回调必须属于已登记来源，同时保持授权码与 PKCE 开启。详见[嵌入式登录](https://docs.mcent.cn/qisso/embedded-login)。
- **退出后跳转**：按需登记退出后回调；只有 Discovery 与接入环境实际支持的退出端点才用于统一退出。

Web 来源只包含协议、主机和可选端口，例如 `https://app.example.com`，不带路径、查询或片段。Web 来源、授权回调与退出后回调用途不同，应分别核对。

## Scope 如何选择

<table>
<thead>
  <tr>
    <th>
      Scope
    </th>
    
    <th>
      用途
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        openid
      </code>
    </td>
    
    <td>
      启用 OIDC 身份认证
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        profile
      </code>
    </td>
    
    <td>
      请求标准资料信息
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        email
      </code>
    </td>
    
    <td>
      请求邮箱相关信息
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        roles
      </code>
    </td>
    
    <td>
      角色相关接入；业务系统仍需执行自身授权判断
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        offline_access
      </code>
    </td>
    
    <td>
      配合刷新流程请求离线访问
    </td>
  </tr>
  
  <tr>
    <td>
      服务 scope
    </td>
    
    <td>
      仅用于已批准的系统间能力，详见服务端调用
    </td>
  </tr>
</tbody>
</table>

声明或请求一个 scope 不会自动赋予业务管理员角色，也不能替代资源服务的权限校验。

## 保存与轮换密钥

机密客户端的明文 Secret 通过管理流程生成并只展示一次；由接入方保存到服务端密钥配置中。QiSSO 保存摘要，不能在后续查看中找回原文。

不要把 Secret 放在前端环境变量、浏览器存储、移动端安装包、公开仓库或 URL 中。当前管理端轮换密钥时会同时删除该客户端已存储的 Access Token 与 Refresh Token；旧 Secret 随即失效，没有自动双密钥宽限期。安排切换窗口，同步更新使用同一客户端的 BFF 和服务任务，验证重新获取令牌和用户重新登录。密钥泄露时由管理员处理轮换与会话失效，业务端同时清理受影响的本地状态。

完成注册后进入 [OIDC 登录](https://docs.mcent.cn/qisso/oidc-login)。


## Sitemap

See the full [sitemap](https://docs.mcent.cn/sitemap.md) for all pages.
