I solved this by:
- Override username from string to uid in extensions/users-permissions/models/User.settings.json
“attributes”: {
“username”: {
“type”: “uid”,
“targetField”: “username”,
…
- Generating uniq value on every registration by oveeriding extensions/users-permissions/services/Providers.js
const uidService = strapi.plugins['content-manager'].services['uid']; const username = await uidService.generateUIDField({ contentTypeUID: "plugins::users-permissions.user", data: { username: body.username }, field: "username" }); callback(null, { username, email: body.email, });