2017-12-01 3 views
0

첫 번째 설치/인증시 상점 전용 액세스 토큰을 장고보기에 저장하려고 시도합니다 (& DB에 연결하기 전에).djago보기에 사용자 액세스 토큰 저장

저는 장고를 처음 사용합니다.

나중에이 사용 토큰을 저장하려면 어떻게해야합니까? "세션"에 저장할 수 있습니까? 벌써?

def finalize(request): 
    shop_url = request.GET['shop'] 
    auth_code = request.GET['code'] 
    hashed = request.GET['hmac'] 
    ts = request.GET['timestamp'] 
    print("shopURL", shop_url) 

    print("success request") 
    try: 
     r = requests.post('https://'+shop_url+'/admin/oauth/access_token', data = {'client_id':'xx','client_secret':'xx','code':auth_code}) 

     print("request response > > > > ", r.json()) 
     this_response = r.json() 
     print(this_response["access_token"],"this_response[access_token]") 
     # >>>>>> STORE THIS TOKEN SOMEWHERE? 
     request.session['shopify'] = { 
      "shop_url": shop_url, 
      "access_token": this_response["access_token"] 
     } 

    except Exception: 
     messages.error(request, "Could not log in to Shopify store.") 

     return redirect(reverse('shopify_app_login')) 

    messages.info(request, "Logged in to shopify store.") 

    response = redirect(_return_address(request)) 
    request.session.pop('return_to', None) 
    return response 
+0

당신이 세션에서하거나 현재 세션의 액세스 토큰을 저장 하시겠습니까 사용이 토큰에 액세스 할 수 있습니다 자신의 fileds

class Profile(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) shopify_access_token = models.CharField(max_length=200) 

를 추가 할 수있는 장고 사용자를 확장 할 수 있습니다? – kshikama

+0

여러 세션을 통해 ..하지만 사이트를 다시 방문 할 때도 - 매번 재 인증해야합니다. @kshikama가 작동하지 않습니다. – NewPieGuy

답변

1

최고의 옵션은 장고 사용자가이 저장하는 것입니다 :

은 여기 내 repo 및 파이썬보기입니다. 나중에 당신이 request.user.profile.shopify_access_token