• Как создаются и работают крупные проекты на подобии binance и не только?

    @teimur Автор вопроса
    Dimonchik, Из статьи понял по сути, что существовала с древности кучка людей, которые собирали с древности деньги всеми возможными способами, от чего и владеют почти всем богатством в мире, и эти все топовые проекты просто способ пополнять богатство. Но непонятны некоторые моменты, почему такая секретность, зачем им столько денег? Почему в их семьях не рождаются всякие протестанты, глупые люди, и т.д. Человеческого фактора раскрытия тайны нет. Так сказать кучка гениев из поколения в поколения, или же вообще бессмертные. Я например работаю с богатыми людьми, и общаюсь, но интеллектом особым они не наделены. И потери в бизнесе огромные, по ошибке, по глупости, по недосмотру и т.д. Но при этом бабла немерено! Но как так происходит не говорят, в то же время многие закрывают бизнес, ничего не выгорает, хоть и стараются. Как вы считаете, почему такая секретность? Ведь если все узнают что к чему, они все равно ничего не сделают же.
    Написано
  • Как создаются и работают крупные проекты на подобии binance и не только?

    @teimur Автор вопроса
    И как что то узнать про этих секретных ребят? Они хоть из плоти и крови? Или какие бестелесные сверхсоздания? Чем они так отличаются от простых людей? Где можно почитать?
    Написано
  • Как создаются и работают крупные проекты на подобии binance и не только?

    @teimur Автор вопроса
    А в чем смысл таких заговоров и секретов? Вот даже работа популярных супермаркетов это секрет, а в чем смысл подставных и т.д.?
    Написано
  • Imagick как убрать размытие при сохранении pdf?

    @teimur Автор вопроса
    Пробовал каждую из них...
    Написано
  • Как в Laravel в методе unauthenticated писать свою ошибку?

    @teimur Автор вопроса
    Спасибо, а как туда параметр передать, причину и код ошибки? Просто разные могут быть
    Написано
  • Можно ли в laravel передавать объект из middleware в контроллер?

    @teimur Автор вопроса
    Дмитрий, Да, это и нужно похоже
    Написано
  • Можно ли в laravel передавать объект из middleware в контроллер?

    @teimur Автор вопроса
    Sanes, Я вот сделал примерно то что мне нужно, но не знаю на сколько это правильно
    Создал такой класс
    <?php
    
    namespace App\MyClass;
    
    use AmoCRM\Client\AmoCRMApiClient;
    use App\Models\UsersData;
    use \Illuminate\Http\Request;
    use League\OAuth2\Client\Token\AccessToken;
    
    class GetAmoCRMApiClient {
        private $request;
        public function __construct(Request $request)
        {
            $this->request = $request;
        }
    
        public function get() {
            $clientId = $this->request->bearerToken();
            $userData = UsersData::where('client_id', $clientId)->first();
            $amocrmTokens = $userData->amocrmTokens;
    
            $config = config('amocrm');
            $clientSecret = $config['clientSecret'];
            $redirectUri = $config['redirectUri'];
            $accessToken = new AccessToken([
                'access_token' => $amocrmTokens['access_token'],
                'refresh_token' => $amocrmTokens['refresh_token'],
                'expires' => $amocrmTokens['expires_in'],
            ]);
            $apiClient = new AmoCRMApiClient($clientId, $clientSecret, $redirectUri);
            $apiClient->setAccessToken($accessToken);
            $apiClient->setAccountBaseDomain($userData['referer']);
            return $apiClient;
        }
    }


    А в контроллере делаю так:
    public function index(Request $request)
        {
    
            $apiClient = app(GetAmoCRMApiClient::class)->get();
            try {
                return $apiClient->pipelines()->get();
            } catch (AmoCRMApiException $e) {
                return $e;
            }
        }
    Написано
  • Можно ли в laravel передавать объект из middleware в контроллер?

    @teimur Автор вопроса
    Вроде как нет. мне нужно что то вроде хэлпера или как то так...
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    Дмитрий, Разобрался, это зачем то postman посылал куки, наверное сохранил из версии web... Спасибо
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    Дмитрий, С приоритетами разобрался.
    Так, в App\Http\Kernel api нет этих классов, но всеравно выдает
    protected $middlewarePriority = [
        ];
    
        protected $middlewareGroups = [
            'web' => [
                \App\Http\Middleware\EncryptCookies::class,
                \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
                \Illuminate\Session\Middleware\StartSession::class,
                \Illuminate\View\Middleware\ShareErrorsFromSession::class,
                \App\Http\Middleware\VerifyCsrfToken::class,
                \Illuminate\Routing\Middleware\SubstituteBindings::class,
            ],
    
            'api' => [
                // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
                'throttle:api',
                \Illuminate\Routing\Middleware\SubstituteBindings::class,
                'json_responce' => JsonResponceMiddleware::class,
                'auth_api' => AuthenticateApiMiddleware::class,
    
            ],
        ];


    в роутах так теперь
    <?php
    
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Route;
    use App\Http\Middleware\JsonResponceMiddleware;
    
    
    Route::middleware('api')->group(function () {
        Route::get('/array', function (Request $request) {
            $x = [
                'a' => 3,
                'b' => 2,
            ];
            return $x;
        });
    });
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    use Illuminate\Http\Request;
    
    class JsonResponceMiddleware
    {
        public function handle(Request $request, Closure $next)
        {
            $request->headers->set('Accept', 'application/json');
            return $next($request);
        }
    }
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    Дмитрий, Странно


    Тут 2 вопроса, как сделать что бы JsonResponceMiddleware выполнялся раньше auth_api ?
    И второй, а как нужно сделать что бы api работали как api?
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    Дмитрий,
    вам роут апи отвечает с куками laravel_session и XSRF-TOKEN?

    Да
    не надо в один middleware складывать все что вам нужно в конкретный момент. сделайте отдельный

    Понял! Сделаю
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    Дмитрий, Спасибо за помощь, и еще вопрос. Как убрать из заголовка laravel_session и XSRF-TOKEN при обращении по API ?
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    Дмитрий, Спасибо! Вот где собака была зарыта.
    Сделал так и заработало!
    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    use Illuminate\Auth\Middleware\Authenticate as Middleware;
    
    class AuthenticateApiMiddleware extends Middleware
    {
        public function handle($request, Closure $next, ...$guards)
        {
            $request->headers->set('Accept', 'application/json');
            return parent::handle($request, $next, $guards);
        }
    
        protected function authenticate($request, array $guards)
        {
            $token = $request->bearerToken();
            if ($token === 'aaabbbccc') return;
            $this->unauthenticated($request, $guards);
        }
    }
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    Дмитрий, А как установить что бы в API ответ был всегда JSON?
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    use Illuminate\Auth\Middleware\Authenticate as Middleware;
    
    class AuthenticateApiMiddleware extends Middleware
    {
        public function handle($request, Closure $next, ...$guards)
        {
            return parent::handle($request, $next, $guards);
        }
    
        protected function authenticate($request, array $guards)
        {
            $token = $request->bearerToken();
            if ($token === 'aaabbbccc') return;
            $this->unauthenticated($request, $guards);
        }
    
        protected function unauthenticated($request, array $guards)
        {
            parent::unauthenticated($request, $guards); // TODO: Change the autogenerated stub
        }
    }


    <?php
    
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Route;
    
    Route::middleware('auth_api')->get('/array', function (Request $request) {
        $x = [
          'a' => 3,
          'b' => 2,
        ];
        return $x;
    });


    protected $routeMiddleware = [
            'auth' => \App\Http\Middleware\Authenticate::class,
            'auth_api' => AuthenticateApiMiddleware::class,
            'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
            'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
            'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
            'can' => \Illuminate\Auth\Middleware\Authorize::class,
            'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
            'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
            'signed' => \App\Http\Middleware\ValidateSignature::class,
            'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
            'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
        ];
    Написано
  • Как в Laravel понять методы аутентификации?

    @teimur Автор вопроса
    Дмитрий, Да. У меня не не работает! Если токен правильный все работает, а если не правильный то unauthenticated выдает HTML. И я не понимаю стандартные методы для работы с этим всем
    Написано