我正在使用提到here的文档创建JWT。
一切都按照文档中的说明完成。
这是code snippet。
当我将此令牌返回到Android客户端时,Android客户端会抛出以下错误。
com.google.android.gms.tasks.RuntimeExecutionException: com.google.firebase.auth.FirebaseAuthInvalidCredentialsException:The 自定义标记格式不正确。请查看文档。
我不确定,在创建令牌时我缺少什么。
$service_account_email = "abc-123@a-b-c-123.iam.gserviceaccount.com";
$private_key = "-----BEGIN PRIVATE KEY-----VERY LONG KEY-----END PRIVATE KEY-----\n";//See github link for key if needed
$now_seconds = time();
$payload = array(
"iss" => $service_account_email,
"sub" => $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" => $mobile
);
$token = JWT::encode($payload, $private_key, "HS256");