firebase auth rest api 没有返回 arduino 中的全身响应 ide

firebase auth rest api not returning the full body response in arduino ide

我在arduino ide中遇到了firebase auth rest api的问题,下面的代码returns代码200

String url = "https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=" + String(apiKey);
http.setTimeout(5000);
http.begin(url);
http.addHeader("Content-Type", "application/json");
String dataSent = "{\"email\":\"" + String(email) + "\",\"password\":\"" + String(pswd) + "\",\"returSecureToken\":\"true\"}";
int status = http.POST(dataSent);
Serial.println(status);
if (status <= 0)
{
    Serial.printf("HTTP error: %s\n",
                  http.errorToString(status).c_str());
    return false;
}
// Read the response.
String payload = http.getString();
Serial.println(payload);

但是当我查看串行监视器时,响应如下所示:

   {
     kind: "the kind of response",
     localId: "someId",
     email: "myEmail",
     displayName: "myDisplayName",
     idToken: "someIdToken",
     registered: "someBoolean",
   }

显然没问题,但是当我在邮递员中尝试相同的 http 请求时,响应还包括 refreshTokenexpiresIn

经过更多调查,我发现来自邮递员的 localId 大约有 980 个字符,而来自我的 arduino 代码的 localId 只有大约 680

我正在尝试(但失败了)使用 localId 对 firestore 的请求进行身份验证 api,我认为这种长度差异一直困扰着我。 这真的是问题所在吗?

      method: "POST",
      body: JSON.stringify({
        email: enteredEmail,
        password: enteredPassword,
        returnSecureToken: true,
      }),
      headers: {
        "Content-Type": "application/json",
      },
    })

注意: 确保 {returnSecureToken: true} 是您请求正文的一部分