单点登录的方式与smartchart进行对接嵌入
#
'/echart/smart_login?id=xxx&stamp=xxx&token=xxx&url=/'
'''
参数说明:
id: 用户名(在smartchart平台中管理)
stamp: 时间戳(1970年1月1日到生成时间的毫秒数)
token: 采用sha1加密, token=SHA1(链接秘钥+stamp+id)
请在安装smartchart的这台机器上设定环境变量SMART_KEY = 链接秘钥
url: 登录成功后跳转链接
'''
Python后台样列:
#
import time
import hashlib
import os
"""
参数说明:
id: 用户名(在smartchart平台中管理)
stamp: 时间戳(1970年1月1日到生成时间的毫秒数)
token: 采用sha1加密, token=SHA1(链接秘钥+stamp+id)
url: 登录成功后跳转链接
"""
SMART_CHART_URL = 'http://127.0.0.1:8000'
LOGIN_URL = SMART_CHART_URL + '/echart/smart_login?id={id}&stamp={stamp}&token={token}&url={url}'
SMART_KEY = 链接秘钥
def get_smarturl(username, url='/'):
stamp = int(time.time() * 1000)
id = username
res = SMART_KEY + str(stamp) + id
token = hashlib.sha1(res.encode('utf-8')).hexdigest()
LOGIN_DICT = {
"id": id,
"stamp": stamp,
"token": token,
"url": url
}
# 拼接好的url,直接访问
visit_url = LOGIN_URL.format(**LOGIN_DICT)
return visit_url