def _on_signin(self, data, auth_info, provider):
        """Callback whenever a new or existing user is logging in.
        data is a user info dictionary.
        auth_info contains access token or oauth token and secret.

        See what's in it with logging.info(data, auth_info)
        """
            
        auth_id = '%s:%s' % (provider, data['id'])
        
        # 1. check whether user exist, e.g.
        #    User.get_by_auth_id(auth_id)
        #
        # 2. create a new user if it doesn't
        #    User(**data).put()
        #
        # 3. sign in the user
        #    self.session['_user_id'] = auth_id
        #
        # 4. redirect somewhere, e.g. self.redirect('/profile')
        #
        # See more on how to work the above steps here:
        # http://webapp-improved.appspot.com/api/webapp2_extras/auth.html
        # http://code.google.com/p/webapp-improved/issues/detail?id=20
    
        currentregistereduser = None
        #check for user existance upon login/registration
        try:
            user_db_qry = User.query(User.oauth2_id == auth_id)
            user_db_list = user_db_qry.fetch(1)
            currentregistereduser = user_db_list[0]
            
        #if the user does not exist yet
        except IndexError:
            name = None
            #
            try:
                name = data['name']
            except KeyError:
                name = None
                
            user_db = User(
                name=name,
                oauth2_id=auth_id,
                prestige = 100,
                )
            user_db.put()
            user_db.model_id = user_db.key.id()
            user_db.put()
            
            currentregistereduser = user_db
                        
        self.session['_user_id'] = auth_id
        self.session['data'] = data
        currentregistereduser.created = None
        currentregistereduser.last_modified = None
        currentregistereduser.avatar = None
        self.session['_current_user'] = currentregistereduser.to_dict()
        
        if currentregistereduser.username:
            self.redirect("/")
        else:
            self.redirect("/profile")