def sso():
ticket = request.args.get("ticket")
if not ticket:
logger.info("sso ticket get failed")
return """<html><head><title>?????……</title><meta http-equiv="Content-Language" content="zh-CN"><meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf8"><meta http-equiv="refresh" content="1.0;url={}"></head><body></b>?????, ????, ?????!<b></body></html>""".format(url_for("auth.logout"))
logger.info("ticket: %s" %ticket)
username, expires, sessionId = ticket.split('.')
if username and username not in SSO["SSO.AllowedUserList"]:
logger.info("SwarmOps is not allowed to login with {}.".format(username))
return redirect(url_for("auth.sso"))
if expires == 'None':
UnixExpires = None
else:
UnixExpires = datetime.datetime.strptime(expires,"%Y-%m-%d")
resp = make_response(redirect(url_for("index")))
resp.set_cookie(key='logged_in', value="yes", expires=UnixExpires)
resp.set_cookie(key='username', value=username, expires=UnixExpires)
resp.set_cookie(key='sessionId', value=sessionId, expires=UnixExpires)
resp.set_cookie(key='time', value=expires, expires=UnixExpires)
resp.set_cookie(key='Azone', value="sso", expires=UnixExpires)
return resp
评论列表
文章目录