public User createUser()

in src/main/java/org/apache/sling/auth/xing/oauth/impl/DefaultXingOauthUserManager.java [116:142]


    public User createUser(final Credentials credentials) {
        logger.debug("create user");
        final XingUser xingUser = XingOauthUtil.getXingUser(credentials);
        if (xingUser == null) {
            return null;
        }

        try {
            final String userId = xingUser.getId(); // TODO make configurable

            final Session session = getSession();
            final UserManager userManager = getUserManager(session);
            final User user = userManager.createUser(userId, null);

            // TODO disable user on create?
            final ValueFactory valueFactory = session.getValueFactory();
            final Value firstnameValue = valueFactory.createValue(xingUser.getFirstName());
            final Value lastnameValue = valueFactory.createValue(xingUser.getLastName());
            user.setProperty(FIRSTNAME_PROPERTY, firstnameValue);
            user.setProperty(LASTNAME_PROPERTY, lastnameValue);
            session.save();
            return user;
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
            return null;
        }
    }