devise로 인증하는 Rails 애플리케이션에 curl

1945 단어 curlRails

하고 싶은 일



로컬로 개발 중인 Rails 애플리케이션에 대해 curl로 사용자 인증하여 로그인이 필요한 엔드포인트의 API를 두드리고 싶다.

다음 조건의 응용 프로그램을 전제로 합니다.
  • 인증에 device를 사용하고 있다
  • 세션 관리를 쿠키 (Rails 기본값)로 수행합니다.
  • csrf 토큰은 고려하지 않으므로

    app/controllers/application_controller.rb
    class ApplicationController < ActionController::Base
      skip_before_action :verify_authenticity_token, if: -> {request.format.json?}
    end
    

    방법



    로그인



    로그인이 성공하고 쿠키에 로그인 정보가 저장됩니다.
    curl -H 'Content-Type: application/json' \
      -X POST http://localhost:3000/users/sign_in \
      -d '{"user":{"email":"[email protected]","password":"your_password"}}' \
      -c cookie
    

    응답이 반환됩니다.
    <html><body>You are being <a href="http://localhost:3000/">redirected</a>.</body></html>
    

    로그인이 필요한 API에 액세스


    -b cookie
    curl -H 'Content-Type: application/json' \
      -X GET 'http://localhost:3000/api/items' \
      -b cookie
    
  • 좋은 웹페이지 즐겨찾기