개요 Socialite나 외부 Oauth를 통해 해당 회원 정보를 가져오는데 성공 하였지만, 내부적인 API을 사용하기 위해서는 내부적으로 구축한 인증 절차도 통과 해 줘야 한다. 하지만, 내부적으로 구축한 인증 절차를 통과하기 위해서는 내부 인증에 사용되는 email / password 값을 입력하는게 보통이지만 외부 oauth를 통과하기 위해 이미 외부 계정과 비밀번호를 입력한 유저에게 한번 더 email / password 값을 입력해야지만 로그인을 시켜주는 것은 절차상 너무 복잡한 절차이며 회원들이 이탈할 확률이 높아진다. 계정 통합을 위하여 가입시에 email / password 값을 추가적으로 받는 경우들은 많지만 매 로그인 시마다 해당 절차를 밟게 하는 것은 옳은 판단은 아닐 것이다. 다양한..
PHP
서론 이번에 개발을 진행하면서, 인트라넷에 있는 Laravel Project를 AWS EC2에 배포해야 되는 상황이 왔다. AWS ECR을 사용하여, 도커 이미지를 빌드하고 EC2에서는 AWS ECR의 이미지를 당겨오는 방식으로 배포를 진행하였다. EC2 내부에 nginx가 설치되어 있는 상태이며 비용 문제상 EC2 내부에 mysql 도 같이 설치 되어 있는 상태였다. 일단 가장 중요한건 Dockefile 구성화 gitrunner 혹은 gitaction 에서의 처리 방법. .env 파일은 git repo에 등재가 되면 안되기 때문에 variables로 등록 된 후 배포시 파일을 생성하여 포함해 주도록 처리하였다. 전제로는, AWS ECR IAM 계정 및 정책이 있어야 한다. 또한, AWS CLI이 설치가..
기존에 response 관리에 대해서 포스팅을 한 적이 있다. [Laravel] Response 관리 API 형태로 개발을 진행 할 때, 클라이언트와의 협업 중 중요한 부분인 response 값 관리에 대한 정리 내용 입니다. 기능이 나온지는 오래 되었지만.. 개인적으로 업무 하는 것들도 많고 공부를 안 jjong-factory.tistory.com 별도로, API 서버로만 활용 할 때 서버 오류 등이 발생 했을 경우 Laravel의 기본 오류 창이 return 되는 경우가 있는데 해당 경우 프론트쪽 개발자가 보면 솔직히 조금 난잡한 데이터가 오기 때문에 해당 부분을 일반적인 API 오류시의 return 방식으로 처리 하는 방법을 적어 둔다. 일단 나는 아래와 같은 방식으로 처리하긴 하는데, 다른 방법도..
스케줄러를 큐로 돌려서 서버 부하를 최소화 하자! 어제 스케줄러에 대하여 포스팅을 했었다. 이미지 업로드, 대량의 데이터 연산 처리가 필요하기 때문에 queue를 이용하여 작업을 진행해야 한다고 했었었는데, Schedule에서는 기본적으로 queue를 지원해준다. 해당 기능을 이용하기 위해서는, 일단 laravel queue 세팅을 진행해 줘야 한다. php artisan queue:table 데이터베이스에 큐 대기열을 넣어주는 테이블 생성 코드를 저절로 만들어 준다. 당연히 이후 migrate를 시켜주면 테이블이 생성됨을 확인할 수 있다. php artisan migrate 이후, .env 파일에 다음을 추가해 준다. QUEUE_CONNECTION=database 이렇게 하면, 설정 완료! 사용방법 사..
일정 시간이 되면 저절로 컴퓨터가 작업 해 주면 좋겠는데.. 개발을 진행하다 보면 일정 시간이 되면 알아서 컴퓨터가 특정 작업을 해 주면 좋은 상황이 반드시 오게 되어 있다. 어떤 상황인지에 따라서 해결 할 수 있는 방법으로는 굉장히 여러가지가 있는데, 단순히 DB에 일정 데이터를 삽입하거나 수정하는 거라면 DB 자체의 스케줄링을 사용 해도 될 것이고 서버에서의 cron이나 window 서버라면 window 서버의 작업 스케줄링을 사용해도 될 것이다. 그 중에서도 이번에는 Laravel 의 Task Scheduling 기능에 대해 포스팅 해 보려고 한다. 왜 Laravel Scheduling을 사용해? 위에서는 여러가지 방안이 존재한다고 했는데, 왜 소스코드 상에서의 Scheduling을 사용할까? 당연..
XSS 공격에 대한 Middleware 구축 app\Http\Middleware에 파일을 생성한다. php artisan을 사용해도 되고 그냥 만들어도 된다.. 추가한 Middleware에 다음과 같은 내용을 추가합니다.
기존에 직장에서 일 할 때에는 한가지 인증 방식을 익혀두고, 빨리빨리 처리 해야 하니 솔직히 기존 것 가져다 쓰기 바빴다.. 예전에 포스팅 한 Passport 인증 처리 방식으로 주로 사용 했었다. 이것도 오늘 알게된 사실인데 sanctum이라는 인증 방식이 또 있더라.. 사실 라라벨을 5점대 부터 사용해서 그런지 추가 기능들이 이렇게 많을 줄 몰랐다 ㅎㅎ.. 둘의 차이점은 다음과 같다. 목적 Sanctum: SPA(Single Page Application)나 모바일 앱과 같은 클라이언트 측 JavaScript 애플리케이션을 위해 설계된 경량 패키지 Passport: 클라이언트와 서버 사이의 API를 보호하는 데 사용되는 OAuth2 서버 토큰 타입 Sanctum: 토큰 타입으로 쿠키 또는 API 토큰..
솔직히 그동안에는 같은 작업들만 반복해서 다른 기술들을 익힐 경험이 적었는데, 최근데 다양한 정보들을 받아들여 나한테 어떤게 부족한지 절실히 느끼고 있는 요즘이당.. octane이란거 자체를 오늘 처음 알았는데, Swoole를 이용하여 라라벨 프레임워크의 성능을 높히기 위해 개발된 최신 버전이라고 한다. https://laravel.com/docs/10.x/octane#main-content Laravel - The PHP Framework For Web Artisans Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to creat..
서론로그인 구현 방식에는 여러가지 방식이 있지만, 요즘에는 Oauth 방식을 이용한 로그인 방식이 많이 사용 됩니다.라라벨에서는 passport라는 인증 관련 확장 프로그램을 제공해 주어, 쉽게 Oauth 방식 로그인구현이 가능합니다. Laravel - The PHP Framework For Web ArtisansLaravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.laravel.com하지만 한글로 된 문서는 거의 없어서 처음 접해보시는 분들은 구현하기 힘들어..
요즘, 프론트 엔드 개발로 뜨는 Vue와 PHP Framwork인 Laravel을 연동해 보는 방법을 알아보겠습니다. Laravel에서는 Vue와 쉽게 연동할 수 있도록 지원해 주는데, 차근차근 알아보도록 해요! 컴포져와 PHP는 세팅 되어 있다는 가정 하에 시작 하도록 하겠습니다. 먼저, 컴포져로 새로운 라라벨 프로젝트를 만들어 줍니다. composer create-project laravel/laravel vue-sample 프로젝트가 완성되면, 해당 프로젝트로 이동하여 laravel ui 를 컴포져에 추가 해 줍니다. cd vue-sample composer require laravel/ui 그다음, vue 설치와 연동을 합니다. php artisan ui vue npm install npm ins..
개발을 하다보면 서버 이외의 스토리지 서버를 운영해야 하는 일이 잦습니다. 오늘은, Laravel을 이용하여 AWS의 스토리지 서비스인 S3 연동 방법을 소개해 드리려고 합니다. Laravel은 기본 설정이 되어있다는 가정 하에 설명 하겠습니다! [실무에서 작업하시는 분들은, 아래 포스트를 겸하여 개발을 진행해 주세요!!!] AWS S3 private + IAM + CloudFront로 보안을 첨가한 파일 업로드 구현 서론 기존에 Laravel을 이용하여 S3 파일업로드에 대하여 설명을 한 적이 있었습니다. 다만, 이때는 public으로 열어둔 S3에 손쉽게 업로드를 구현하는 방법을 설명 드렸었습니다. [Laravel] AWS S3 연동 jjong-factory.tistory.com 1.composer를..
오늘은 PHP서버를 이용하여 메일을 발송하는 방법을 알려드리려고 합니다. PHP Mailer를 사용하였으며, 개발환경은 Laravel 5.6 Version 입니다. 굳이 Laravel을 사용하지 않으시더라도, Composer를 사용하고 계신다면 사용이 가능하기 때문에 걱정하실 필요는 없으 실 것 같습니다. 또한 메일을 발송할 메일 서버가 필요한데, 무료 메일서버는 gmail 을 사용해 주시는 편이 가장 간편한 것 같습니다. 1. php mailer 설치 https://github.com/PHPMailer/PHPMailer PHPMailer/PHPMailer The classic email sending library for PHP. Contribute to PHPMailer/PHPMailer develo..