2012-07-01 5 views
3

레일이있는 shopify 앱을 개발 중이며 OAuth2 인증을 위해 다음 두 링크를 모두 따르고 있습니다. http://api.shopify.com/authentication.html & https://github.com/Shopify/shopify_api.Shopify OAuth 인증이 영구 액세스 토큰을 반환하지 않습니다.

나는 영구적 인 액세스 토큰을 요구하는 단계에 갇혀있다. client_id, client_secret & 코드 매개 변수를 https://SHOP_NAME.myshopify.com/admin/oauth/access_token으로 게시했지만 인증 토큰을받지 못했습니다. 내가 얻는 응답은 상태 200이며 비어있는 본문과 헤더가 있습니다.

코드 :

http = Net::HTTP.new("https://#{params[:shop].to_s.strip}") 
request = Net::HTTP::Post.new("/admin/oauth/access_token") 
request.set_form_data({ 
    "client_id" => ShopifyApp.configuration.api_key, 
    "client_secret" => ShopifyApp.configuration.secret, 
    "code" => params[:code].to_s.strip 
}) 
response = http.request(request) 

응답 :

(내가 잘못 여기지만, 수) 나 심지어 더 혼란 한 shopify_app이 단계를 수행하지 않는 것 무엇
@body=[], 
@header={}, 
@status=200, 

. 나는 비슷한 질문을 발견했다 : Unable to receive a permanent access token for my Shopify App하지만 아직 답변되지 않았다.

수정 : .myshopify.comhttp = Net::HTTP.new("https://#{params[:shop].to_s.strip}")은 오타 였으므로 제거되었습니다.

편집 2 :
나는 위의 예제 또는 나머지 클라이언트 보석을 사용하여 내 코드 내에서 작동하도록 얻을 수 없었지만 결과를 제공 한 HTML 양식에서 게시를 시도했습니다.
여기에서 무슨 일이 일어나고 있는지에 대해 여전히 매우 혼란 스럽습니다.

답변

1

question you linked to에 제공된 답변을 참조하십시오.

이것이 동일한 문제가 아니라면 보내고받는 원시 요청 및 응답 데이터를 게시 할 수 있습니까? 사용중인 api 키도 도움이됩니다.

커맨드 라인에서 컬을 시도해 볼 것을 제안합니다. 작동하지 않으면 각 단계마다 각 컬링 문자열을 게시 할 수 있습니다.

shopify_app는 omniauth에 종속적이며 omniauth-shopify-oauth2은 oauth 인증을 처리합니다.

+0

기본 html 양식에서 매개 변수를 전송할 때 액세스 토큰을 얻을 수 있었기 때문에 문제가 내 앱 내부에서 데이터를 게시하는 방식 일 수 있다고 생각합니다. –

+0

omniauth-shopify-oauth2에서 반환 된 토큰은 영구 액세스 토큰 또는 임시 토큰입니까? 나는 여전히 배우고있는 것처럼 여기에 잘못되는 것에 완전히 열렬하지만 내게는 일시적인 것처럼 보입니다. –

+0

영구 토큰이어야합니다. –

관련 문제