如何不使用废弃实验包接入routerlicious服务并解决403报错
解决方案
你遇到的403授权错误核心是本地Routerlicious默认租户密钥和你配置的TokenProvider密钥不匹配,其余还有版本匹配、跨域两个常见关联问题,按以下步骤修改即可:
- 修正客户端连接配置
Routerlicious默认local租户的签名密钥为12345,而非你当前配置的local(该值是Tinylicious的默认密钥),同时需要添加配置禁用Azure云专属的路径规则,修改后的初始化代码如下:client = new AzureClient({ connection: { tenantId: "local", // 第一个参数改为Routerlicious默认密钥12345 tokenProvider: new InsecureTokenProvider("12345", { id: "local" }), orderer: "http://localhost:3003", storage: "http://localhost:3003", // 新增配置,适配本地Routerlicious isMaple: false } }); - 配置Routerlicious容器跨域
你前端服务默认运行在3000端口,和Routerlicious的3003端口跨域,启动Docker容器时需要添加跨域环境变量:docker run -e DEFAULT_ALLOWED_ORIGINS=* -p 3003:3003 [你的Routerlicious镜像名] - 校验版本匹配
你当前项目依赖的Fluid客户端版本为0.47.x,对应的Routerlicious Docker镜像需使用0.1030.x版本,不要使用latest标签的镜像,避免大版本差异导致的协议不兼容。
内容的提问来源于stack exchange,提问作者AnTiiK
相关产品推荐
相关产品推荐

