아임포트(Iamport)로 결제기능 구현하기 - 일반결제

    아임포트(Iamport)로 결제기능 구현하기 - 준비 아임포트(Iamport)로 결제기능 구현하기 - 일반결제 이전 포스트에 이어서 라라벨에 아임포트를 연동해보자. 마이그레이션, 모델, 컨트롤러가 준비되었다면 이제 해야 할 일은 아임포트의 개발가이드를 보면서 코드를 구현하는 일 뿐이다. 개발가이드에서 일반결제 부분에 보면 Node.js 를 사용한 구현 방법이 나와있는데, 이를 PHP로 표현하는 것은 어려운 일이 아니다. 장바구니 장바구니에 해당하는 Order 를 만들고(Create), 읽는(Read)코드를 작성해보자. 수정과 삭제는 주제를 벗어나므로 구현하지 않는다. 쓰기 쓰기는 컨트롤러에서 OrderController::create(), OrderController::store() 에서 진행한다. Or..

    아임포트(Iamport)로 결제기능 구현하기 - 준비

    아임포트(Iamport)로 결제기능 구현하기 - 준비 아임포트(Iamport)로 결제기능 구현하기 - 일반결제 이번에 국내 서비스용 결제와 관련된 기능을 구현해보면서 사용해본 것이 아임포트(I'mport)다. 라라벨에는 물론 결제를 위한 Laravel Cashier 라는 패키지가 존재하고, Stripe, Paddle 과 연동할 수 있으나 국내 서비스에는 그다지 친화적이지 않은 측면이 있다. 따라서 구축하기도 쉽고 국내 서비스에 친화적인 아임포트를 사용해보기로 했다. 또 다른 국내 친화적인 서비스로는 Payple 이 있는데, 나중에 기회가 되면 써보기로 하자. 아임포트는 개발자 친화적으로 문서화가 되어있어서 개발자의 입장에서 볼 때 결제를 구현하기 상당히 수월하게 되어있다. 대표적으로 일반결제, 정기결제,..

    'REST' 를 보다 'RESTful' 하게 API 만들기

    REST API 인증 파트가 어느정도 마무리되고 써볼 글은 API 에 대한 이야기다. 가장 처음, REST(Representational State Transfer) API 에 대한 이야기를 해보고자 한다. REST API 는 SPA(Single Page Application) 방식으로 개발된 프론트엔드에서 백엔드의 데이터를 가져올 때 가장 많이 사용되는 자원(Resource) 처리방식이다. REST API 를 따르는 API 가 세상에는 많이 존재하고 있으므로 몇 가지 규칙만 알고있으면 다른 서비스의 API 를 사용하는 것에 거부감을 느끼지는 않을 것이다. REST API 의 가장 두 가지 특징으로는 URI 로 자원(Resource)을 요청하여 특정 형태로 표현(Representation)한다는 것과 H..

    쿠키(Cookie)와 세션(Sessions)에 대해 알아보자

    인증과 관련된 포스트 중 마지막으로 알아볼 것은 쿠키(Cookie)와 세션(Sesisons)이다. 어플리케이션 레벨에서 인증하는 JWT(JSON Web Token), OAuth, Session 을 끝으로 인증 쪽은 마무리 지을 예정이며 프로토콜 레벨의 인증인 HTTP Basic, HTTP Digest 인증은 생략하기로 하자. 언젠간 이야기할 지도 모르겠지만, 지금 이 시점은 아니다. 세션(Sessions) 세션(Sessions)은 웹 어플리케이션을 개발할 때 기본적으로 쿠키(Cookie)*와 함께 배우는 개념이다. 둘 다 데이터라는 점에서는 동일하지만 쿠키는 클라이언트(웹 브라우저)에, 세션은 서버(파일, RDBMS, Redis)에 저장된다는 것이 가장 큰 차이점이다. 쿠키*는 비로그인 상태에서 장바구니..

    OAuth 2.0 소셜 로그인 구현하기(feat. 깃허브)

    OAuth 2.0 OAuth 는 기본적으로 서비스 제공자(깃허브, 트위터, 페이스북)가 신뢰할 수 없는 타 어플리케이션에게 사용자의 아이디와 패스워드를 제공하지 않더라도 사용자의 특정 정보에 접근하거나 작업을 처리할 수 있도록 하는 방법이자 표준이다. 최근 일반적으로 웹사이트에 흔히 볼 수 있는 SNS 계정으로 로그인하는 것이 가장 대표적인 사용처라고 볼 수 있다. 내가 만든 서비스에 수동으로 회원가입 기능을 넣지 않더라도 서비스 제공자가 가지고 있는 개인정보를 기반으로 로그인할 수 있도록 하는 것이며 이를 사용하면 작은 서비스에서 직접 비밀번호를 관리해야 하거나 하는 번거로운 부분을 떠안고 가지 않고 부담을 대기업에게 떠넘기게 된다. JWT(Json Web Token)와는 다르게 토큰 자체는 큰 의미를..