Skip to main content

cache aes authorization decrypter

Project description

##基于redis的AES加解密工具包

2/4/2020 Bruce 0.8.2 初始版本
2/5/2020 Bruce 0.8.3 补充调用及配置说明,更新引用方式
2/5/2020 Bruce 0.9.1 新增鉴权模块
3/9/2020 Bruce 0.9.9 bugfix
7/23/2020 Bruce 0.9.9.3 新增代理模块,用于修饰需要鉴权的函数
8/18/2020 Bruce 1.0 新增日志记录功能

###使用方法:
####1、配置全局变量
变量名|类型|用途|示例 REDIS_ADDRESS|字符串|redis服务器地址,需要带上ip、端口、库号|127.0.0.1:6379/1 COMMON_SALT|字符串|解密密钥|0648ea5562efffee APPLICATION_NAME|字符串|cad应用名|mms APP_CONFIG_PREFIX|字符串|cad配置前缀|app-config

####2、引入模块
from cad.cad_util import CadUtil # 数据获取模块 from cad.app_config_util import AppConfigUtil # 用户鉴权模块 from cad.proxy import cad_proxy # 鉴权代理模块

####3、使用
cad_util = CadUtil()
res = util.get(ak)

ak为应用对应的ak键
res 即得到的解析结果
结果格式如下
{ "ak": "0648ea5562efffee", "sk": "1e058d312eb61448", "permissions": { "app_1": ["auth_1", "auth_2"], "app_2': ["auth_3", "auth_4"] } } 格式说明:

  • ak: 字符串,应用的ak
  • sk: 字符串,应用的sk
  • permissions: 字典,应用的权限清单
    • permissions的每个键为该ak所拥有的其他应用的权限的应用名称
    • permissions每个键的值为该ak所拥有的对应应用的权限列表

app_config_util = AppConfigUtil(app_id)
校验ak是否有某应用的某个权限权限 app_config_util.check(ak, sk, auth_code) 校验ak是否有某应用的任意权限 app_config_util.check(ak,sk)

参数说明:

  • ak: 传入的ak
  • sk: 传入的sk
  • app_id: 判断ak是否有该应用的权限
  • auth_code: 判断ak是否有app下auth_code的权限,如果不传则判断ak是否有app的任意权限

结果说明:
True: 校验成功 False: 校验失败,原因如下:

  • aksk不匹配
  • ak没有对应app的权限
  • ak没有对应app的auth_code权限 抛出异常CadException:
  • ak不存在

@cad_proxy(auth_code, error_response)
def view(self, request):
pass

auth_code 为被修饰方法view对应的权限code,由中台管理系统统一配置
error_response 为处理异常的对象,可以不传,默认抛出ProxyException类,可以自行定义。自行定义的对象需要接受一个参数,用于表示异常的原因

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cad-1.1.2.tar.gz (8.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page