이 보석은 Shopify Admin에 포함시킬 수있는 Rails 응용 프로그램을 구축합니다.
소개 | 요구 사항 | 사용법 | 문서 | 기고 | 특허
이 보석에는 Rails 엔진, 발전기, 모듈 및 Mixins가 포함되어있어 Shopify API와 함께 작동하는 레일 응용 프로그램을 만드는 데 도움이됩니다. Shopify App Rails Engine은 Shopify와 함께 Oauth를 구현하는 데 필요한 모든 코드를 제공합니다. Default Shopify 앱 생성기는 Shopify Admin에 내장 할 수있는 앱을 구축하고 세션 토큰으로 보호합니다.
Shopify 앱 개발자가 되려면 Shopify Partners 계정이 필요합니다. Shopify Dev Docs를 탐색하여 Shopify 앱 구축에 대해 자세히 알아보십시오.
이 보석에는 다음과 같은 자격 증명이 있어야합니다.
rails new my_shopify_app
bundle add shopify_app
dotenv-rails
Gem을 권장했습니다. 전체 호스트를 지정하고 API 자격 증명을 지정하려면 Rails 앱의 루트에 .env
파일을 만듭니다. HOST=http://localhost:3000
SHOPIFY_API_KEY= < Your Shopify API key >
SHOPIFY_API_SECRET= < Your Shopify API secret >
rails generate shopify_app
rails db:migrate
rails server
서버의 URL (예 : http : // localhost : 3000)을 방문하여 설치하려는 상점의 하위 도메인을 지정하여 앱을 설치하십시오.
앱이 설치된 후에는 임베디드 앱으로 리디렉션됩니다.
이 응용 프로그램은 Shopify API에 대한 요청을 인증하기 위해 Shopify와 함께 OAuth 2.0을 구현합니다. 기본적 으로이 앱은 Shopify Admin에 포함될 때 세션 토큰을 사용하여 판매자를 인증하도록 구성됩니다.
Shopify 앱에 사용할 수있는 전체 생성기 목록은 생성기를 참조하십시오.
보석 사용, 개념, 믹스 인, 설치 및 더 많은 /docs
에 대한 문서를 찾을 수 있습니다.
QuickStart
문제 해결
업그레이드
Shopify 앱
Shopify App Rails 엔진 장착은 다음 경로를 제공합니다. 이 경로는 상점에 응용 프로그램을 설치하고 OAUTH를 구현하는 데 도움이되도록 구성되었습니다.
동사 | 노선 | 행동 |
---|---|---|
GET | /login | 로그인 |
POST | /login | 로그인 |
GET | /auth/shopify/callback | OAUTH REDIRECT URI |
GET | /logout | 로그 아웃 |
POST | /webhooks/:type | Webhook 콜백 |
이 경로는 구성 가능합니다. 로그인 URL을 사용자 정의하거나 Shopify App Rails 엔진을 중첩 노선에서 마운트하는 방법을 알아 보려면 자세한 엔진 문서를 참조하십시오.
이 보석이 Shopify를 어떻게 인증하는지에 대한 자세한 내용은 인증을 참조하십시오.
팁
임베디드 앱을 구축하는 경우 레거시 인증 코드 보조금 흐름 대신 토큰 교환으로 Shopify 관리 설치를 사용하는 것이 좋습니다 .
우리는 이전에 필요한 리디렉션을 제거하는 임베디드 앱 에 대한 새로운 설치 및 인증 전략을 도입했습니다. 기존 설치 및 인증 코드 보조금 흐름을 대체합니다.
이는 Shopify Managed 설치를 사용하여 자동 앱 설치 및 스코프 업데이트를 처리하면서 Token Exchange를 사용하여 인증 된 API 액세스를위한 액세스 토큰을 검색합니다.
메모
shopify.app.toml
configuration 파일에서 use_legacy_install_flow = true
가 없는지 확인하십시오. use_legacy_install_flow
가 true 인 경우 Shopify는 앱의 설치 프로세스를 관리하지 않습니다. shopify.app.toml
구성 파일에서 use_legacy_install_flow
줄을 제거하거나 false
로 설정해야합니다.
# config/initializers/shopify_app.rb
ShopifyApp . configure do | config |
#.....
config . embedded_app = true
config . new_embedded_auth_strategy = true
# If your app is configured to use online sessions, you can enable session expiry date check so a new access token
# is fetched automatically when the session expires.
# See expiry date check docs: https://github.com/Shopify/shopify_app/blob/main/docs/shopify_app/sessions.md#expiry-date
config . check_session_expiry_date = true
...
end
embedded_app
레이아웃이 올바른지 확인하십시오. 앱에 ShopifyApp::EnsureInstalled
된 컨트롤러가있는 경우 이제 기본적으로 현재 컨트롤러에 대한 layout 'embedded_app'
설정하는 ShopifyApp::EmbeddedApp
Monit도 포함됩니다. 컨트롤러가 원래 다른 레이아웃 파일을 찾은 경우 예상치 못한 동작이 발생할 수 있습니다. 이 문제의 영향과 필요한 경우 레이아웃 변경을 비활성화하는 방법에 대한 자세한 내용은 EmbeddedApp
Conner의 문서를 참조하십시오. Shopify의 API가 버전화되었습니다. Shopify App v1.11.0
사용하면 포함 된 Shopify API Gem을 사용하면 개발자가 앱이나 서비스를 사용하려는 Shopify API 버전을 지정하고 업데이트 할 수 있습니다. Shopify API Gem은 또한 감가 상각 된 엔드 포인트, 그래프 QL 필드 등에 대한 Rails 앱에 대한 경고를 표면합니다.
자세한 내용은 Shopify API Gem ReadMe를 참조하십시오.