def on_post(self, req, resp, app_name):
if not req.context['is_admin']:
raise HTTPUnauthorized('You must be an admin to rekey an app')
data = {
'app_name': app_name,
'new_key': hashlib.sha256(os.urandom(32)).hexdigest()
}
affected = False
with db.guarded_session() as session:
affected = session.execute(
'UPDATE `application` SET `key` = :new_key WHERE `name` = :app_name',
data).rowcount
session.commit()
session.close()
if not affected:
raise HTTPBadRequest('No rows changed; app name likely incorrect')
logger.info('Admin user %s has re-key\'d app %s', req.context['username'], app_name)
resp.body = '[]'
评论列表
文章目录