Search code examples
google-app-enginepython-2.7google-apiwebapp2

GAE weapp2 Access-Control-Allow-Origin Error


I get this error while using webapp2 user authentication. No 'Access-Control-Allow-Origin' header is present on the requested resource.

How do I add access header before redirect ?

redirect code : self.redirect(users.create_login_url(self.request.uri))

CODE:

class Authenticate(webapp2.RequestHandler):
    def get(self):
      user = users.get_current_user()
      cookie_value = self.request.cookies.get('user')

      if user==cookie_value and user!=None:
          self.response.headers['Content-Type'] = 'text/plain'
          self.response.write('Success')
      else:
          self.request.headers['Access-Control-Allow-Origin'] = '*'
          self.redirect(users.create_login_url(self.request.uri))

Solution

  •  def redirect(self, uri, permanent=False, abort=False, code=None,body=None)
    

    and

    def redirect(uri, permanent=False, abort=False, code=None, 
                                             body=None,request=None, response=None)
    

    So, I think you should call the second one as (if you want to pass the response object):

    return webapp2.redirect(users.create_login_url(self.request.uri),True,False,None
                                                           ,None,None,self.response)
    

    Refer Webapp2 Source Code