企业出于安全考虑,需要在修改功能或登录密级较高的页面时,对成员进行二次身份校验

企业需要双因子认证时,可以怎么操作?

该组件仅适用于私有化WPS365版本

1. 方案概述

一般来讲,用户登录的安全认证分为两种:

  • 单因子认证:用户只需提供一种认证因子来登录,通常是账号密码、微信扫码、短信验证码等。
  • 双因子认证:用户需要提供两种不同认证因子来登录,通常是账密+其它形式的身份验证,其他形式比如短信验证码、安全令牌等,具体选择通过后台配置实现。

文档中心使用的是单因子认证的方式。

出于安全考虑,企业需要在修改定制应用功能前,比如修改消息审计、全局配置前。

或登录密级较高的页面时,对成员进行二次身份校验。

针对这种情况,我们可以使用文档中心管理后台的开放能力,定制双因子认证

实现效果用户登录管理后台时,页面会跳出窗口,提醒用户绑定二次认证。SWUUONRAABQDW
支持端文档中心管理后台
涉及接口获取当前会话信息
版本限制版本24-12a(含)以上
操作系统限制支持X86、XC

2. 扩展应用对接

👉接口依赖

扩展应用中选择应用依赖,添加对应的接口依赖

R45EEYA5AAAGK

根据接口文档,选择对应云文档V7所需依赖的接口

SAAUKYA5AAAEK

👉接口能力

在扩展应用中新建独立服务型组件,选择接口能力并新增API,

Z4JJAWY5ABAE4

根据弹框中提示信息进行接口填写,请求方法GET,网关类型为c或proxy网关

PL6FIYA5AAAGW

👉接口详情

参考对应的接口文档

接口类型:365api内部网关

MethodGET
Path/v7/sessions/current
网关365api内部网关
认证kso_token或者access_token
Request见下方代码块
Response见下方代码块

Request:

{
  "with_detail": boolean
}

1
2
3

Response:

{
  "data": {
    "account": "string",
    "avatar": "string",
    "company_id": "string",
    "ctime": 0,
    "gender": {},
    "login_mode": "string",
    "multi_factor_auth": true,
    "nick_name": "string",
    "regtime": 0,
    "role": {},
    "status": {},
    "user_id": "string"
  },
  "code": 0,
  "more": {},
  "msg": "string"
}

👉演示效果

kso_token鉴权方式

💡 提示

365api内部网关支持通过kso_token方式直接调用,kso_token可以通过proxy网关将前端的cookie转为kso_token

// 调用云文档获取用户信息
func (u *UserInfoService) GetUserInfo(token string) (*interApiModal.UserInfo, error) {
    host := config.GlobalConfig.ECIS_HOST
    url := host + "/v7/sessions/current?with_detail=true"
    header := map[string]string{
        "X-Kso-Token": token,
    }

    res, err := util.Get(url, header)
    if err != nil {
        log.Info("获取用户信息网络请求错误:", errors.Any("err", err))
        return nil, err
    }

    if res != nil && res.Body != nil {
        defer res.Body.Close()
    }

    var respBody []byte

    if res.StatusCode != 200 {
        if res.Body != nil {
            respBody, _ =https://v7.wpseco.cn/c/manage/docs#/appDocs/wps365.open.docs/%E6%9C%8D%E5%8A%A1%E7%AB%AF/%E8%AE%A4%E8%AF%81%E4%B8%8E%E6%8E%88%E6%9D%83/%E8%8E%B7%E5%8F%96%E8%AE%BF%E9%97%AE%E5%87%AD%E8%AF%81/%E8%8E%B7%E5%8F%96%E8%87%AA%E5%BB%BA%E5%BA%94%E7%94%A8%E7%9A%84%E7%A7%9F%E6%88%B7access_tokehttps://v7.wpseco.cn/c/manage/docs#/appDocs/wps365.open.docs/%E6%9C%8D%E5%8A%A1%E7%AB%AF/%E8%AE%A4%E8%AF%81%E4%B8%8E%E6%8E%88%E6%9D%83/%E8%8E%B7%E5%8F%96%E8%AE%BF%E9%97%AE%E5%87%AD%E8%AF%81/%E8%8E%B7%E5%8F%96%E8%87%AA%E5%BB%BA%E5%BA%94%E7%94%A8%E7%9A%84%E7%A7%9F%E6%88%B7access_tokenio.ReadAll(res.Body)
            log.Info("状态码错误:", errors.Any("err", string(respBody)))
        }
        return nil, fmt.Errorf("获取用户信息网络请求失败")
    }

    respBody, err = io.ReadAll(res.Body)

    if err != nil {
        log.Info("获取用户信息读取流错误:", errors.Any("err", err))
        return nil, err
    }
    v7UserInfo := &V7UserInfoRes{}
    err = json.Unmarshal(respBody, v7UserInfo)
    if err != nil {
        log.Info("获取用户信息转json错误:", errors.Any("err", err))
        return nil, err
    }

    if v7UserInfo.Code != 0 {
        log.Info("获取用户信息错误:", errors.Any("err", v7UserInfo.Data))
        return nil, fmt.Errorf("获取用户信息失败")
    }

    return &v7UserInfo.Data, nil
}
access_token鉴权方式
// 获取acc_token
wps365Token, err := auth.NewWps365AuthTokenCache().GetAccessToken(config.GlobalConfig.AK, config.GlobalConfig.SK, companyId)
if err != nil {
    log.Info("获取wps365Token失败", errors.String("error", err.Error()))
    return nil, err
}

// 获取KSO-1签名
ksoSignService, _ := auth.NewKsoSign(config.GlobalConfig.AK, config.GlobalConfig.SK)
ksoSign, err := ksoSignService.KSO1Sign(request, jsonData)
if err != nil {
    log.Info("获取KSO-1签名失败", errors.String("error", err.Error()))
    return nil, err
}
识别双因子认证

multi_factor_auth

根据multi_factor_auth字段来判断双因子认证

  • multi_factor_auth为null,则说明未开启双因子认证
  • multi_factor_auth为true,则说明开启双因子认证且用户已经双因子认证通过
  • multi_factor_auth为false,则说明开启双因子认证且用户未通过双因子认证

相关新闻

  • WPS 文档共享权限管控方案,精准授权高效协同

    WPS 文档共享权限管控方案,精准授权高效协同

    WPS文档共享权限管控方案,既能精准的配置文档访问、编辑、共享等权限,又能实现动态调整与全程留痕,有效保障企业文档信息安全与协作效率。 方案简介 WPS文档共享权限管控方案是针对企业文档协作中权限管理难题,提供精准授权与全程可控的解决方案。通过构建多层级权限管控体系,支持按角色/岗位细分权限、动态权限调整、协作行为留痕、权限到期自动回收功能,确保文档协作数据安全,提升内部协作效率。 该方案可与企业现有组织架构无缝对接,在企业私有环境内运行,最大程度保障文档协作数据不被泄露,为企业文档管理提供全方…

    最佳实践 2025年12月11日
  • 文档中心主题皮肤定制

    文档中心主题皮肤定制

    将企业主题色融入WPS365产品界面,使之与企业风格更为统一 如何为文档中心定制主题皮肤? 本定制方案仅适用于私有化WPS365版本 1. 方案概述 主题皮肤就是文档中心提供的界面颜色,下图为文档中心标准产品的主题皮肤: 出于以下需求的考虑,客户可能会需要定制个性化的主题皮肤: 实现效果 深色模式浅色模式护眼模式跟随系统模式注:以上展示的【深色】【浅色】【护眼】模式的具体颜色效果由客户自己定义,上图仅作参考示例 依赖端 文档中心PC端 依赖版本 23.0907(含)以上 依赖操作系统 支持X86…

    最佳实践 2025年12月11日
  • WPS跨网域文件传输方案,安全效率两不误

    WPS跨网域文件传输方案,安全效率两不误

    WPS跨网域文件传输方案既能确保内网文件的安全性,也能让保密文件以受控的形式在内网和外网间灵活流转,提升团队间的协作效率和灵活性。 方案简介 WPS跨网域文件传输方案是满足企业在不同网域实现文件安全高效传输的解决方案。通过文件摆渡的方式,在隔离的网络环境(如内网与外网、不同安全域或网段)之间实现文件安全、可控、高效传输。其核心目标是打破数据孤岛,满足跨网办公协作需求,同时防止敏感信息泄露和网络攻击。 WPS跨网域文件传输方案还可以对接WPS协作的轻审批功能,实现审批后传输(支持定制对接其他审批)…

    最佳实践 2025年12月11日
  • 限制用户下载特定文件

    限制用户下载特定文件

    在员工离职或出于其它安全考虑,企业需要对员工创建或管理的文件进行管控,或对扫描出敏感信息的文件进行管控,限制文件下载。 如何限制企业用户下载特定文件 本定制方案仅适用于私有化WPS365版本 1. 方案概述 员工离职前,出于安全考虑,企业会对其创建或管理的文件进行管控。 管控会有两个实现方式: 有安全管控需求时,比如文件扫描出敏感信息,用户的网络环境(内网或外网)、文件大小不满足管理规定,都有可能需要限制下载。 针对这两种情况,我们可以使用文档中心Web端(PC端)的开放能力,定制下载功能: 实…

    最佳实践 2025年12月11日
  • 企业团队/人员自定义属性标签

    企业团队/人员自定义属性标签

    根据企业需求,为人员或团队自定义属性标签,可根据属性标签决定WPS业务表现,如根据人员安全等级判断能否访问某文档 如何给企业团队/人员标记属性? 本定制方案仅适用于私有化WPS365版本 1. 方案概述 出于安全、效率的目的,有些企业需要给团队/人员标记属性: 文档中心里,可以在团队空间、通讯录的团队/人员名称这两个位置,标记属性。 我们可以通过文档中心服务端、Web端(PC端)的开放能力,为企业团队/人员标记属性: 效果 定制后,企业团队/人员名称旁会出现属性名称。红框为定制后的团队属性红框为…

    最佳实践 2025年12月11日
  • PDF转Word全流程解决方案

    PDF转Word全流程解决方案

    方案简介 基于WPS WebOffice开放平台的格式转换能力,构建企业级文档中台,实现标书协议、合同管理、档案等PDF文件的自动化转换、结构化处理与业务系统无缝集成。 WPS WebOffice格式转换服务:提供PDF→Word的精准转换能力。支持保留原PDF的字体、段落、表格、图片等元素,针对扫描件PDF,支持OCR识别,支持单次上传100+文件批量转换。 企业文档中台:作为转换服务的调度中心和数据枢纽,实现转换流程与现有业务系统的无缝对接。拥有操作日志审计,完整记录转换操作的人员、时间、文…

    最佳实践 2025年12月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

立即咨询 企业版试用 上门服务

请您留言

感谢您的关注,你可留下联系方式,我们将第一时间与您联系。