SOURCE

function handleRequest() {
  // 从请求头或其他地方获取 idToken
  const idToken = 'eyJhbGciOiJSUzI1NiIsImtpZCI6IjZmNzI1NDEwMWY1NmU0MWNmMzVjOTkyNmRlODRhMmQ1NTJiNGM2ZjEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI5MjIyMzUzMDMzOTctNjVycWFqbTU1dDY5MXU5Ym92MjViYTc3bXNjc3Jnbm4uYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI5MjIyMzUzMDMzOTctNjVycWFqbTU1dDY5MXU5Ym92MjViYTc3bXNjc3Jnbm4uYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDc3NTc4NTkzMzc1NDY2MTk5OTQiLCJlbWFpbCI6InFpbmxlaWx4bEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6InQxeDFnRml5TjRXNDhSczQtbzYybmciLCJuYW1lIjoi56em56OKIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FDZzhvY0tIZXk5WHVjWXFfeDNvbFVVOEJPNHEzUWI5cGFTRk1SVWlnTk9VTnF0Xz1zOTYtYyIsImdpdmVuX25hbWUiOiLno4oiLCJmYW1pbHlfbmFtZSI6IuenpiIsImxvY2FsZSI6InpoLUNOIiwiaWF0IjoxNjk1NjA4NTM4LCJleHAiOjE2OTU2MTIxMzh9.OsciMfVqhvM0s_pLHEF6PfJkyug9JAQhUumUfIpH1LdP8Dq-MzkTQK6xs0l5C95AtEacb_STNw9SNuJD2lnhwW7ta8Kb5iGymRZwNSNWghx9-4RdajGOH3ldC-r6V47c7wPatfD7kl5d29fCJH2gBmr5iQXrfknEZx12SXDJl6KX88FSXRvKVThoqVXPUeeTMWJ_C4kxk0U9MMVs3PA6a85wCbVNh_qngw8k184pNvzzcye8xtrZ9yY1ACPDxq3LhlsdANO_CVBYb8J08pLjAA8HscmP_J8vokKcVyhV7QIRexVABFUW_BFWGLLvMp5qAaJI7Dx_MpdUfHmtM4HQnw'; // 替换为实际的 idToken

  try {
    // 分割 JWT,JWT 中的各部分使用点号(.)分隔
    const [header, payload, signature] = idToken.split('.');

    // 解码头部和负载部分,使用 base64 解码
    const decodedHeader = atob(header);
    const decodedPayload = atob(payload);

    // 将解码后的 JSON 字符串解析成对象
    const headerObject = JSON.parse(decodedHeader);
    const payloadObject = JSON.parse(decodedPayload);

    // 提取用户信息
    const userId = payloadObject.sub;
    const userName = payloadObject.name;
    const userEmail = payloadObject.email;
    const userInfo = {
        userId,
        userName,
        userEmail,
    };

    // 在这里可以使用用户信息进行其他操作
    const responseText = `Hello,` + userInfo;
    console.log('responseText: ',responseText);
  } catch (error) {
    // 处理解码错误
    console.error('Error decoding idToken:', error);
    return new Response('Error decoding idToken', {
      status: 500,
      headers: {
        'Content-Type': 'text/plain',
      },
    });
  }
}

handleRequest();
console 命令行工具 X clear

                    
>
console