I am already using Google API Directory to change user's password but one user has put an "ñ" in his password. When he tries to log in, he gets an error saying that the password is not correct. The letter "ñ" is an extended ASCII character.
The API Directory documentation says:
A password can contain any combination of ASCII characters
My question is: a password can contain extended ASCII characters or only the basic ones?
To encode the password I use this code (the password has utf-8 encoding):
$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();
}
Answer:
No, extended character sets are disallowed.
More Information:
From the Google Account Help article on creating passwords (emphasis my own):