> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Authing

> 通过 Authing 平台配置 OIDC、SAML2.0 或 CAS 协议实现单点登录

[Authing](https://www.authing.cn/) 是一家提供身份识别和访问控制管理的供应商，通过 Authing 平台，可实现以 OIDC、SAML2.0 或 CAS 协议的方式登录 Flashduty 管理控制台。

## 准备工作

<Steps>
  <Step title="登录或注册 Authing">
    如果是新注册用户，需先创建用户池，根据提示创建即可。
  </Step>

  <Step title="创建应用">
    * 选择标准 web 应用
    * 填写应用名称
    * 填写认证地址（SSO 登录时跳转的地址）

    ![创建应用](https://api.apifox.com/api/v1/projects/4169655/resources/436934/image-preview)
  </Step>

  <Step title="记录相关信息">
    ![应用信息](https://api.apifox.com/api/v1/projects/4169655/resources/436952/image-preview)

    | 字段         | 描述                           |
    | ---------- | ---------------------------- |
    | App ID     | 对应 Flashduty 的 Client ID     |
    | APP Secret | 对应 Flashduty 的 Client Secret |
    | Issuer     | 对应 Flashduty 的 Issuer        |
    | 认证地址       | 通过 SSO 登录时跳转的地址              |
  </Step>
</Steps>

## 协议配置

<Tabs>
  <Tab title="OIDC 协议">
    ### 1. 开启单点登录配置

    打开 [Flashduty](https://console.flashcat.cloud) 控制台并开启单点登录配置。

    ![开启SSO](https://api.apifox.com/api/v1/projects/4169655/resources/436946/image-preview)

    ### 2. 配置相关信息

    将 Authing 应用的相关信息复制到对应的填写框中：

    ![配置信息](https://api.apifox.com/api/v1/projects/4169655/resources/436951/image-preview)

    将 Redirect URL 域名复制到 Authing 的登录回调 URL 中：

    ![回调URL](https://api.apifox.com/api/v1/projects/4169655/resources/436957/image-preview)

    ### 3. 更改 Authing 配置

    将 id\_token 签名算法更改为 **RS256**：

    ![签名算法](https://api.apifox.com/api/v1/projects/4169655/resources/436961/image-preview)

    配置登录控制：

    ![登录控制](https://api.apifox.com/api/v1/projects/4169655/resources/436964/image-preview)

    更改权限：

    ![权限配置](https://api.apifox.com/api/v1/projects/4169655/resources/436967/image-preview)

    ### 4. 创建用户并测试登录

    <Note>
      Flashduty 只支持用户邮箱关联，所以需要用邮箱创建用户。
    </Note>

    在 Authing 中创建用户：

    ![创建用户](https://api.apifox.com/api/v1/projects/4169655/resources/436973/image-preview)

    使用 SSO 地址测试登录：

    ![测试登录](https://api.apifox.com/api/v1/projects/4169655/resources/436976/image-preview)

    <Tip>
      您也可以访问 `console.flashcat.cloud` 通过 SSO 的方式登录。
    </Tip>

    SSO 地址跳转到登录页面后，使用在 Authing 创建的用户登录 Flashduty 控制台：

    ![登录页面](https://api.apifox.com/api/v1/projects/4169655/resources/436980/image-preview)
  </Tab>

  <Tab title="SAML2.0 协议">
    <Tip>
      可以新创建应用或者在已有的应用中修改，这里通过修改应用进行演示。
    </Tip>

    ### 1. 协议配置

    选择 SAML2.0：

    ![选择SAML](https://api.apifox.com/api/v1/projects/4169655/resources/436984/image-preview)

    将 Flashduty 的单点登录协议改成 SAML 协议，并复制 ACS 地址：

    ![复制ACS](https://api.apifox.com/api/v1/projects/4169655/resources/436987/image-preview)

    将 ACS 地址复制到 Authing 应用中后，点击保存并修改协议类型：

    ![保存配置](https://api.apifox.com/api/v1/projects/4169655/resources/436989/image-preview)

    ### 2. 在 Flashduty 中配置

    下载 metadata 数据，点击链接并保存到本地：

    ![下载metadata](https://api.apifox.com/api/v1/projects/4169655/resources/436990/image-preview)

    上传到 Flashduty 的单点登录配置中并保存：

    ![上传metadata](https://api.apifox.com/api/v1/projects/4169655/resources/436991/image-preview)

    ### 3. 测试登录

    参考 OIDC 协议的登录流程进行测试：

    ![测试登录](https://api.apifox.com/api/v1/projects/4169655/resources/436980/image-preview)

    <Warning>
      两个平台在配置时有穿插，请务必小心不要遗忘关键信息。如在配置过程中有任何问题，可以联系 Flashduty 技术支持协助。
    </Warning>
  </Tab>

  <Tab title="CAS 协议">
    ### 1. 开启单点登录配置

    打开 [Flashduty](https://console.flashcat.cloud) 控制台并开启单点登录配置。

    ![开启SSO](https://api.apifox.com/api/v1/projects/4169655/resources/436946/image-preview)

    ### 2. 配置相关信息

    将 Authing 应用的相关信息复制到对应的填写框中：

    ![CAS配置](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/kb/cas-duty-conf.jpg)

    将 Redirect URL 复制到 Authing 的登录回调 URL 中：

    ![回调URL](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/kb/cas-auth-callback.jpg)

    ### 3. 更改 Authing 配置

    按图配置：

    ![Authing配置](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/kb/cas-auth-conf.jpg)

    配置登录控制：

    ![登录控制](https://api.apifox.com/api/v1/projects/4169655/resources/436964/image-preview)

    更改权限：

    ![权限配置](https://api.apifox.com/api/v1/projects/4169655/resources/436967/image-preview)

    ### 4. 创建用户并测试登录

    <Note>
      Flashduty 只支持用户邮箱关联，所以需要用邮箱创建用户。
    </Note>

    在 Authing 中创建用户：

    ![创建用户](https://api.apifox.com/api/v1/projects/4169655/resources/436973/image-preview)

    使用 SSO 地址测试登录：

    ![测试登录](https://fcpub-1301667576.cos.ap-nanjing.myqcloud.com/flashduty/kb/cas-login.jpg)

    SSO 地址跳转到登录页面后，使用在 Authing 创建的用户登录 Flashduty 控制台：

    ![登录页面](https://api.apifox.com/api/v1/projects/4169655/resources/436980/image-preview)
  </Tab>
</Tabs>
