调用 refreshToken() 提示无权限

问题描述

使用 React18 组件,调用 authenticationClient.refreshToken() 时报错:

{
    "code": 1001,
    "message": "无权限执行此项操作"
}

但我不知道在哪配置权限,刷新 token 也需要权限?

重现步骤

  1. 运行下方代码
import { useEffect } from 'react';
import { GuardProvider, useGuard, User } from '@authing/guard-react18';
import '@authing/guard-react18/dist/esm/guard.min.css';

const GuardComponent = () => {
  const guard = useGuard();

  useEffect(() => {
    guard.start('#authing-guard-container').then(async (userInfo: User) => {
 
      const authenticationClient = await guard.getAuthClient();

      await authenticationClient.refreshToken();  // 这一步报错
    });
  }, []);

  return (
    <div>
      <div id="authing-guard-container" />
    </div>
  );
};

export default () => {
  return (
    <GuardProvider appId="65087fc919c6f5b08513cb53">
      <GuardComponent />
    </GuardProvider>
  );
};

  1. 输入账号密码,登录后控制台报错:
{
    "code": 1001,
    "message": "无权限执行此项操作"
}

附加信息

  • Version:
  • Platform:

参考这个帖子;无权限登录此应用,请联系管理员

我的应用是对所有用户授权的

登录时会提示登录成功,只是调用 refreshToken() 会报错

应用 → 自建应用 → 协议配置 → 授权模式,看下是否勾选了 refresh_token。

勾选了的

提供一下 app id

提供一个测试的账号密码

把上面的 appid 和 账号密码删除吧,下午加一下这个腾讯会议,线上看看其他配置:

赵一鸣 邀请您参加腾讯会议
会议主题:赵一鸣预定的会议
会议时间:2023/09/21 15:00-16:00 (GMT+08:00) 中国标准时间 - 北京

点击链接入会,或添加至会议列表:

#腾讯会议:284-288-899

复制该信息,打开手机腾讯会议即可参与

我们公司网络环境比较特殊,没法用腾讯会议
我刚尝试了下删除掉应用新建一个,还是会有这个问题,我基本上没改任何配置

  1. 创建自建应用,选择 单页Web应用
  2. 应用配置 - 访问授权 - 设置所有人允许访问
  3. 运行我上面发的代码,输入手机号/短信验证码 - 注册
  4. 提示登录成功,但是控制台报错:“无权限执行此项操作”

你看看你是否能复现

我这边新创建的应用无法复现以上问题,但使用你的 appId 确实会有问题。如果腾讯会议不方便,可以加我微信:zhaoyiming0803,或者其他你方便的在线方式。

好的,我加你微信了

解决了吗,最后是怎么解决的