in auth/import_users.go [208:252]
func (u *UserToImport) validatedUserInfo() (map[string]interface{}, error) {
if len(u.params) == 0 {
return nil, fmt.Errorf("no parameters are set on the user to import")
}
info := make(map[string]interface{})
for k, v := range u.params {
info[k] = v
}
if err := validateUID(info["localId"].(string)); err != nil {
return nil, err
}
if email, ok := info["email"]; ok {
if err := validateEmail(email.(string)); err != nil {
return nil, err
}
}
if phone, ok := info["phoneNumber"]; ok {
if err := validatePhone(phone.(string)); err != nil {
return nil, err
}
}
if claims, ok := info["customClaims"]; ok {
claimsMap := claims.(map[string]interface{})
if len(claimsMap) > 0 {
cc, err := marshalCustomClaims(claimsMap)
if err != nil {
return nil, err
}
info["customAttributes"] = cc
}
delete(info, "customClaims")
}
if providers, ok := info["providerUserInfo"]; ok {
for _, p := range providers.([]*UserProvider) {
if err := validateProviderUserInfo(p); err != nil {
return nil, err
}
}
}
return info, nil
}