You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Zoho Catalyst中强制HTML页面需认证访问,仅限Zoho Workplace账户?

强制Zoho Workplace账户访问Catalyst托管Web客户端的认证方案

1. 配置Cloud Scale Authentication限制身份来源

  • 进入Catalyst控制台,打开Cloud Scale > Authentication面板:
    • 在「身份提供商」设置中,仅保留Zoho作为唯一认证渠道,禁用邮箱密码登录、第三方OAuth等其他选项。
    • 找到「用户注册」设置,关闭允许用户自行注册开关,彻底禁用新账户创建功能。
    • 若需限定特定Workplace租户,可在Zoho身份提供商配置中添加域名验证规则,指定你的企业Workplace域名(如yourcompany.com)。

2. 拦截静态资源请求,强制认证检查

由于Catalyst托管的静态HTML默认公开访问,需通过Serverless函数作为入口拦截请求:

  • 编写Catalyst函数(以Node.js为例),实现认证校验逻辑:
    const catalyst = require('zcatalyst-sdk-node');
    
    module.exports = async (req, res) => {
      const app = catalyst.initialize(req);
      try {
        // 获取当前认证用户
        const user = await app.auth.getCurrentUser();
        // 验证是否属于指定Workplace域名
        const allowedDomain = 'your-workplace-domain.com';
        const userDomain = user.email.split('@')[1];
        
        if (userDomain !== allowedDomain) {
          await app.auth.signOut();
          return res.status(403).send('仅允许企业内部Zoho Workplace账户访问');
        }
        // 认证通过,返回客户端HTML文件
        res.sendFile('/public/client.html', { root: __dirname });
      } catch (err) {
        // 未认证时重定向到Zoho登录页
        const loginUrl = await app.auth.getLoginURL({ provider: 'zoho' });
        res.redirect(loginUrl);
      }
    };
    
  • 在Catalyst路由配置中,将原静态HTML的访问路径(如/)指向该函数,替代直接访问静态文件。

3. 设置静态资源访问权限

  • 进入Catalyst的静态托管设置:
    • 将客户端相关的核心静态文件(HTML、业务JS、CSS)的访问权限设为仅认证用户可见。
    • 若存在公共资源(如logo、基础样式),可单独设置为公开访问,不影响认证逻辑。

4. 适配Zoho Workplace认证规则

  • 确保你的Zoho Workplace租户已启用必要的安全策略(如MFA、域验证),Cloud Scale会自动继承这些认证条件,无需额外配置。
  • 若需更精细的权限控制,可在认证通过后,通过Catalyst SDK获取用户的Workplace角色信息,进一步限制特定角色的访问。

内容的提问来源于stack exchange,提问作者Alexander Reed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 07:16:07