if (!isset($body->location) || gettype($body->location) != 'string' || strlen($body->location) < 1) { $new_user->location = ''; } else { $new_user->location = $body->location; } if (!isset($body->website) || strlen($body->website) < 4 || !filter_var($body->email, FILTER_VALIDATE_URL)) { $new_user->website = ''; } else { $new_user->website = $body->website; } if (!User::isValidPassword($body->password)) { throw new InvalidField('password'); } $new_user->setPassword($body->password); $new_user->active = false; $new_user->save(); $validationToken = new ValidationToken(); $validationToken->token = SecureKey::generate(); $validationToken->user_id = $new_user->id; $validationToken->save(); $mailer = new Mailer(); $mailer->sendMail('confirm_email.html', [$new_user->email], 'Please confirm your email account', ['user' => $new_user->toArray(), 'validation_token' => $validationToken->token]); }); /** * Deletes the GLPi account on user request */ $user_delete_account = Tool::makeEndpoint(function () use($app, $resourceServer) { OAuthHelper::needsScopes(['user']); $body = Tool::getBody(); $user = OAuthHelper::currentlyAuthed(); // Ensures acceptable
// local account, and are associating the external one // to that new local one $user = new User(); $user->active = 0; // Notice it is created as non active $user->username = $external_account_infos['username']; if (isset($external_account_infos['realname'])) { $user->realname = $external_account_infos['realname']; } if (isset($external_account_infos['location'])) { $user->location = $external_account_infos['location']; } if (isset($external_account_infos['website'])) { $user->website = $external_account_infos['website']; } $user->save(); $data['account_created'] = true; // Associating external user account $externalAccount = new UserExternalAccount(); $externalAccount->external_user_id = $external_account_infos['id']; $externalAccount->token = $token; $externalAccount->service = $service; $user->externalAccounts()->save($externalAccount); $data['external_account_linked'] = true; $accessToken = OAuthHelper::createAccessTokenFromUserId($user->id, ['user']); } $data['access_token'] = $accessToken['token']; $data['refresh_token'] = $accessToken['refresh_token']; $data['access_token_expires_in'] = $accessToken['ttl']; } if (isset($data['error'])) {