def regenerate_id(self): #セッションをリジェネレート! memcache.delete(self.userid, namespace='session') self.ssid = security.create_token(entropy=128) self['ssid'] = self.ssid memcache.add(self.userid, self, time=SESSION_EXPIRED_SECOUNDS, namespace='session') return self
def start(self, userid, data={}): #セッション開始 ssid = security.create_token(entropy=128) self.update( data ) self.update( {'ssid':ssid} ) self.ssid = ssid memcache.add(userid, self, time=SESSION_EXPIRED_SECOUNDS, namespace='session') return self
def test_create_token(self): self.assertRaises(TypeError, security.create_token, None) self.assertRaises(ValueError, security.create_token, 9) self.assertRaises(ValueError, security.create_token, 0) self.assertRaises(ValueError, security.create_token, -1) token = security.create_token(16, 16) self.assertTrue(re.match(r'^[a-f0-9]{4}$', token) is not None) token = security.create_token(16, 10) self.assertTrue(int(token, 10) >= 0) token = security.create_token(32, 16) self.assertTrue(re.match(r'^[a-f0-9]{8}$', token) is not None) token = security.create_token(64, 16) self.assertTrue(re.match(r'^[a-f0-9]{16}$', token) is not None) token = security.create_token(128, 16) self.assertTrue(re.match(r'^[a-f0-9]{32}$', token) is not None)
def create(cls, username, subject, token=None, token_size=32): token = token or security.create_token(token_size) key = cls.get_key(username, subject, token) entity = cls(key=key, username=username, subject=subject, token=token) entity.put() return entity
def _get_new_sid(self): return security.create_token(128, 16)