使用 Google API 特殊字符目录更改密码
Change password with Google API Directory with special characters
我已经在使用 Google API 目录来更改用户密码,但一位用户在他的密码中添加了“ñ”。
当他尝试登录时,他收到一条错误消息,提示密码不正确。
字母 "ñ" 是一个扩展的 ASCII 字符。
API 目录文档说:
A password can contain any combination of ASCII characters
我的问题是:密码可以包含扩展 ASCII 字符还是只能包含基本字符?
我使用此代码对密码进行编码(密码采用 utf-8 编码):
$user_obj = new Google_Service_Directory_User();
$service = new Google_Service_Directory($client);
//Asci conversion
$dades["password"] = mb_convert_encoding($dades["password"], "ASCII", mb_detect_encoding($dades["password"]));
$user_obj->setHashFunction("SHA-1"); //SHA1 hash
$user_obj->setPassword(hash("sha1", $dades["password"]));
//Execute
try{
$service->users->update($dades["emailg"],$user_obj);
} catch (Exception $e) {
$errors = $e->getMessage();
}
答案:
否,不允许扩展字符集。
更多信息:
来自 creating passwords 上的 Google 帐户帮助文章(强调我自己的):
Meet password requirements
Create your password using 12 characters or more. It can be any combination of letters, numbers, and symbols (ASCII-standard characters only). Accents and accented characters aren't supported.
我已经在使用 Google API 目录来更改用户密码,但一位用户在他的密码中添加了“ñ”。 当他尝试登录时,他收到一条错误消息,提示密码不正确。 字母 "ñ" 是一个扩展的 ASCII 字符。
API 目录文档说:
A password can contain any combination of ASCII characters
我的问题是:密码可以包含扩展 ASCII 字符还是只能包含基本字符?
我使用此代码对密码进行编码(密码采用 utf-8 编码):
$user_obj = new Google_Service_Directory_User();
$service = new Google_Service_Directory($client);
//Asci conversion
$dades["password"] = mb_convert_encoding($dades["password"], "ASCII", mb_detect_encoding($dades["password"]));
$user_obj->setHashFunction("SHA-1"); //SHA1 hash
$user_obj->setPassword(hash("sha1", $dades["password"]));
//Execute
try{
$service->users->update($dades["emailg"],$user_obj);
} catch (Exception $e) {
$errors = $e->getMessage();
}
答案:
否,不允许扩展字符集。
更多信息:
来自 creating passwords 上的 Google 帐户帮助文章(强调我自己的):
Meet password requirements
Create your password using 12 characters or more. It can be any combination of letters, numbers, and symbols (ASCII-standard characters only). Accents and accented characters aren't supported.