Google 身份工具包 returns INVALID_CREDENTIALS
Google Identity Toolkit returns INVALID_CREDENTIALS
我目前正在尝试使用 Google Identity Toolkit 实现忘记密码功能。 PHP 后端正在尝试获取 oob 代码,因为客户端 (iOS) 没有足够的权限。
每当我 运行 脚本时,我都会收到 INVALID_CREDENTIALS 错误,更具体地说:
oob Code: string(249) "{ "error": { "errors": [ { "domain": "global", "reason": "authError", "message": "Invalid Credentials", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Invalid Credentials" } } "
我不确定从哪里获得 authToken 或者这是否正确发送了 post 请求。
$authToken = "xxxxxxxxxxxxxxxxx";
$email = $_POST['email'];
$uIp = $_POST['ip'];
//Post Data in Array
$postData = array(
'kind' => 'identitytoolkit#relyingparty',
'requestType' => 'PASSWORD_RESET',
'email' => '$email',
'challenge' => 'verified',
'captchaResp' => 'verified',
'userIp' => '$uIp',
'newEmail' => 'null',
'idToken' => 'null'
);
//Setup cURL
$ch = curl_init('https://www.googleapis.com/identitytoolkit/v3/relyingparty/getOobConfirmationCode?key=xxxxxxxxxxxxxxxxxxxx');
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => array(
'Authorization: '.$authToken,
'Content-Type: application/json'
),
CURLOPT_POSTFIELDS => json_encode($postData)
));
//Send Request
$response = curl_exec($ch);
This documentation Google API PHP 客户端向您展示了如何为您的应用获取 OAuth 令牌。
但是,您可能会发现使用 Identity Toolkit 特定 PHP client 更容易。要生成忘记密码 link,您需要做的就是在初始化的 GitkitClient 上调用 getOobResults() 方法。
我目前正在尝试使用 Google Identity Toolkit 实现忘记密码功能。 PHP 后端正在尝试获取 oob 代码,因为客户端 (iOS) 没有足够的权限。
每当我 运行 脚本时,我都会收到 INVALID_CREDENTIALS 错误,更具体地说:
oob Code: string(249) "{ "error": { "errors": [ { "domain": "global", "reason": "authError", "message": "Invalid Credentials", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Invalid Credentials" } } "
我不确定从哪里获得 authToken 或者这是否正确发送了 post 请求。
$authToken = "xxxxxxxxxxxxxxxxx";
$email = $_POST['email'];
$uIp = $_POST['ip'];
//Post Data in Array
$postData = array(
'kind' => 'identitytoolkit#relyingparty',
'requestType' => 'PASSWORD_RESET',
'email' => '$email',
'challenge' => 'verified',
'captchaResp' => 'verified',
'userIp' => '$uIp',
'newEmail' => 'null',
'idToken' => 'null'
);
//Setup cURL
$ch = curl_init('https://www.googleapis.com/identitytoolkit/v3/relyingparty/getOobConfirmationCode?key=xxxxxxxxxxxxxxxxxxxx');
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => array(
'Authorization: '.$authToken,
'Content-Type: application/json'
),
CURLOPT_POSTFIELDS => json_encode($postData)
));
//Send Request
$response = curl_exec($ch);
This documentation Google API PHP 客户端向您展示了如何为您的应用获取 OAuth 令牌。
但是,您可能会发现使用 Identity Toolkit 特定 PHP client 更容易。要生成忘记密码 link,您需要做的就是在初始化的 GitkitClient 上调用 getOobResults() 方法。