Beispiel #1
0
 */
$app->post("/{$v}/auth/request-token/?", function () use($app, $ZendDb) {
    $response = ['success' => false, 'message' => __t('incorrect_email_or_password')];
    $request = $app->request();
    // @NOTE: Slim request do not parse a json request body
    //        We need to parse it ourselves
    if ($request->getMediaType() == 'application/json') {
        $jsonRequest = json_decode($request->getBody(), true);
        $email = ArrayUtils::get($jsonRequest, 'email', false);
        $password = ArrayUtils::get($jsonRequest, 'password', false);
    } else {
        $email = $request->post('email');
        $password = $request->post('password');
    }
    if ($email && $password) {
        $user = Auth::getUserByAuthentication($email, $password);
        if ($user) {
            unset($response['message']);
            $response['success'] = true;
            $response['data'] = ['token' => $user['token']];
        }
    }
    return JsonView::render($response);
})->name('request_token');
$app->post("/{$v}/auth/login/?", function () use($app, $ZendDb, $acl, $requestNonceProvider) {
    $response = ['message' => __t('incorrect_email_or_password'), 'success' => false, 'all_nonces' => $requestNonceProvider->getAllNonces()];
    if (Auth::loggedIn()) {
        $response['success'] = true;
        return JsonView::render($response);
    }
    $req = $app->request();