如何检查 Google Client_ID 和 Client_Secret 是否有效
How to check if Google Client_ID and Client_Secret Valid or not
我正在 Node.js 中制作一个模块,用户可以在其中制作自己的 YouTube 直播机器人。该模块要求用户提供其应用程序的客户端 ID 和客户端密码。但是我如何检查他们输入的客户端 ID 和客户端密码是否有效,如果不是则抛出适当的错误。是否有端点可以做到这一点?
无法验证客户端 ID 或客户端密码。唯一的方法是尝试它们,如果它们不起作用,则向用户显示错误。
您也许可以为 client_id 想出一个正则表达式测试,但我不推荐它,因为这些年来格式已经改变了好几次,这会导致您的应用程序出现问题。
我只想说尝试使用它,如果它失败给他们一个错误消息。
注意:我希望您不会提示人们向您提供他们的客户 ID 和客户机密,因为如果您敦促人们向您提供您告诉他们的凭据,那么它会违反 googles TOS 要求人们提供他们的客户凭据打破服务条款。
有效代码:
function ProjectValid($PostArray){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://oauth2.googleapis.com/token',
CURLOPT_POST => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Content-Type: application/x-www-form-urlencoded',
],
CURLOPT_POSTFIELDS => http_build_query([
'code' => md5(time()),
'client_id' => $PostArray['ClientID'],
'client_secret' => $PostArray['ClientSecret'],
'redirect_uri' => $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER["HTTP_HOST"].'/'.$URL,
'grant_type' => 'authorization_code'
]),
));
$Response = curl_exec($curl);
curl_close($curl);
if($Array=json_decode($Response,true) and isset($Array['error']) and $Array['error'] == 'invalid_grant'){
return true;
}else{
return false;
}
}
我正在 Node.js 中制作一个模块,用户可以在其中制作自己的 YouTube 直播机器人。该模块要求用户提供其应用程序的客户端 ID 和客户端密码。但是我如何检查他们输入的客户端 ID 和客户端密码是否有效,如果不是则抛出适当的错误。是否有端点可以做到这一点?
无法验证客户端 ID 或客户端密码。唯一的方法是尝试它们,如果它们不起作用,则向用户显示错误。
您也许可以为 client_id 想出一个正则表达式测试,但我不推荐它,因为这些年来格式已经改变了好几次,这会导致您的应用程序出现问题。
我只想说尝试使用它,如果它失败给他们一个错误消息。
注意:我希望您不会提示人们向您提供他们的客户 ID 和客户机密,因为如果您敦促人们向您提供您告诉他们的凭据,那么它会违反 googles TOS 要求人们提供他们的客户凭据打破服务条款。
有效代码:
function ProjectValid($PostArray){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://oauth2.googleapis.com/token',
CURLOPT_POST => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Content-Type: application/x-www-form-urlencoded',
],
CURLOPT_POSTFIELDS => http_build_query([
'code' => md5(time()),
'client_id' => $PostArray['ClientID'],
'client_secret' => $PostArray['ClientSecret'],
'redirect_uri' => $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER["HTTP_HOST"].'/'.$URL,
'grant_type' => 'authorization_code'
]),
));
$Response = curl_exec($curl);
curl_close($curl);
if($Array=json_decode($Response,true) and isset($Array['error']) and $Array['error'] == 'invalid_grant'){
return true;
}else{
return false;
}
}