uni-app uni-id-pages uni_id_token 未登录会自动添加

uni-app uni-id-pages uni_id_token 未登录会自动添加

2 回复

我知道了,是因为开启了uni云端一体安全网络

<script> export default { onLaunch: async function() { // #ifdef MP-WEIXIN const userInfo = uniCloud.getCurrentUserInfo() const callLoginByWeixin = userInfo.tokenExpired < Date.now() // 用户为未登录状态时调用一次微信登录 await uniCloud.initSecureNetworkByWeixin({ callLoginByWeixin: callLoginByWeixin }) // #endif } } </script>

更多关于uni-app uni-id-pages uni_id_token 未登录会自动添加的实战教程也可以访问 https://www.itying.com/category-93-b0.html


uni-app 中,uni-id-pages 是一个基于 uni-id 的用户登录注册模板,它提供了用户登录、注册、找回密码等功能。在使用 uni-id-pages 时,uni_id_token 是用来标识用户登录状态的令牌。

关于 uni_id_token 的自动添加

  1. 未登录状态下的 uni_id_token

    • 当用户未登录时,uni_id_token 通常不会自动生成或添加。uni_id_token 是在用户成功登录后,由服务器生成并返回给客户端的。
    • 如果你在未登录状态下发现 uni_id_token 被自动添加,可能是因为在某些情况下,系统或代码逻辑自动生成了一个默认的 uni_id_token,或者你在代码中手动设置了某个默认值。
  2. 登录后的 uni_id_token

    • 当用户成功登录后,uni_id_token 会被生成并存储在客户端(例如 localStorageuni.setStorageSync 中),以便在后续请求中携带该 token 进行身份验证。
    • 你可以在 uni-id-pages 的登录成功回调中看到 uni_id_token 的处理逻辑。
  3. 自动添加的可能场景

    • 如果你在使用 uni-id-pages 时,发现未登录状态下 uni_id_token 被自动添加,可能是因为你在代码中手动设置了某个默认的 uni_id_token,或者在某些情况下,系统自动生成了一个临时的 uni_id_token
    • 你可以检查你的代码逻辑,特别是登录和 token 处理的部分,看看是否有默认值或自动生成的逻辑。

如何处理 uni_id_token

  1. 登录成功后获取 uni_id_token

    uniCloud.callFunction({
      name: 'login',
      data: {
        username: 'your_username',
        password: 'your_password'
      },
      success(res) {
        const uni_id_token = res.result.token;
        uni.setStorageSync('uni_id_token', uni_id_token);
      }
    });
    
  2. 请求时携带 uni_id_token

    const uni_id_token = uni.getStorageSync('uni_id_token');
    uniCloud.callFunction({
      name: 'your_function',
      data: {
        // your data
      },
      header: {
        'Authorization': uni_id_token
      }
    });
回到顶部