Firebase自定义身份验证失败400

时间:2017-08-06 18:27:03

标签: php firebase firebase-authentication

我正在尝试使用自定义身份验证来验证用户的firebase。按照文档中的指导创建了jwt令牌。但是在发送令牌之后我得到了这个回复

firebase.auth().signInWithCustomToken(response.body).catch(function (error) {
              // Handle Errors here.
              console.log(error)
            })

"error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "INVALID_CLAIMS"
   }
  ],
  "code": 400,
  "message": "INVALID_CLAIMS"
 }

控制台

  

代码:“auth / internal-error”,消息:   “{” 错误 “:{” 错误 “:[{” 域 “:” 全局 “ ”理由“: ”我...索赔“}], ”代码“:400, ”消息“: ”INVALID_CLAIMS“}}”< / p>

我的jwt令牌格式正确。

Php代码用于生成jwt令牌

public function authFirebase() {
        $now_seconds = time();
        $payload = [
          "iss" => $this->service_account_email,
          "sub" => $this->service_account_email,
          "aud" => "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",
          "iat" => $now_seconds,
          "exp" => $now_seconds+(60*60),  // Maximum expiration time is one hour
          "uid" => \Auth::user()->id,
          "claims" => array()
        ];
        return JWT::encode($payload, $this->private_key, "RS256");
    }

1 个答案:

答案 0 :(得分:1)

&#39>声称&#39;自定义标记中的字段应包含JSON对象,而不是JSON数组。