Example #1
0
    $user->apps()->delete();
    // Finally delete the user
    $user->delete();
    $app->halt(200);
});
/**
 * Validate the email address for a manually registered user
 * (i.e: click on the link that is sent by mail)
 */
$user_validate_mail = Tool::makeEndpoint(function ($_validationToken) use($app) {
    $validationToken = ValidationToken::where('token', '=', $_validationToken)->first();
    if ($validationToken) {
        $user = $validationToken->user;
        $user->active = true;
        $user->save();
        $accessToken = OAuthHelper::createAccessTokenFromUserId($user->id, ['plugins', 'plugins:search', 'plugin:card', 'plugin:star', 'plugin:submit', 'plugin:download', 'tags', 'tag', 'authors', 'author', 'version', 'message', 'user', 'user:apps']);
        $mailer = new Mailer();
        $mailer->sendMail('confirm_account.html', [$user->email], 'Your email account is confirmed', ['user' => $user->toArray()]);
        $validationToken->delete();
        Tool::endWithJson(["access_token" => $accessToken['token'], "refresh_token" => $accessToken['refresh_token'], "expires_in" => $accessToken['ttl']], 200);
    } else {
        throw new \API\Exception\InvalidValidationToken($_validationToken);
    }
});
/**
 * Returns the profile
 */
$profile_view = Tool::makeEndpoint(function () use($app, $resourceServer) {
    OAuthHelper::needsScopes(['user']);
    $user = OAuthHelper::currentlyAuthed();
    // Adding gravatar
Example #2
0
            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'])) {
        if ($data['error'] == 'Service error') {
            $app->response->status(500);
        } else {
            $app->response->status(400);
        }
    }
    echo '<!DOCTYPE html><html><head></head><body><script type="text/javascript">' . 'var data = \'' . json_encode($data) . '\'; var i = 0 ; var interval = setInterval(function(){  if (i == 300) {clearInterval(interval);} i++; window.postMessage(data, "*");}, 750);' . '</script></body></html>';
});
/**