restful api令牌管理实用程序

tokenbox的Python项目详细描述



tokenbox
restful api令牌管理实用程序

restful api需要您管理和刷新授权令牌。当你开始使用一个新的api时,你并不真的想搞乱那些东西;你只想让这些令牌去一个你可以随时得到它们的地方,然后在剩下的时间里忽略它们。`tokenbox“是为了方便将它们放在某个地方而设计的,就像角落里一个整洁的小盒子。

tokenbox将确保它管理的任何数据库中只有一行,因此您不必担心数据库占用不必要的磁盘空间。

` tokenbox`能够生成sqlite数据库。以下是tokenbox实例所需的参数的说明:`tokenbox.py`

*`db-user(string)`:db-login角色的用户(必须能够创建pg数据库)
*`db-password(string)`:db-login角色的密码
*`db-name(string)`:要创建/管理的数据库的名称
*`use-sqlite(bool)`:是还是不使用sqlite
*`元数据(sqlalchemy.metadata)`:表定义中使用的元数据
*`kwargs(sqlalchemy.table)`:表的名称和相应的定义

下面是为多个标记创建sqlite数据库的示例。这些表是为与Bullhorn API一起使用而设计的。


``python
from sqlalchemy import table,metadata,column,integer,string
from tokenbox import tokenbox


table\u definitions={
“登录令牌”:table(“登录令牌”,metadata,
主键的格式必须为{table_name}u pk`
column(“login_token_pk”,integer,primary_key=true),
column(“access_token”,string(45),nullable=false),
column(“expires_in”,integer,nullable=false),
column(“refresh_token”,string(45),nullable=false),
列('令牌类型',字符串(45),可为空=false),
列('到期日',整数,可为空=false),
“访问令牌”:表(“访问令牌”,元数据,
主键的格式必须为{表名称}主键`
列(“访问令牌”,整数,主键=true),
column('rest_token',string(45),nullable=false),
column('rest_url',string(60),nullable=false)

}


use_sqlite=true

tokenbox=tokenbox('db_user','db_pass','tokenbox_test',use_sqlite,metadata,**table_definitions)
创建与TokenBox初始化期间传递的参数相对应的数据库
TokenBox.create_database()
将行更新(或插入)到“login_token”表中(只能有一行!)
tokenbox.update_token('login_token',access_token=“123412341123ASDFASDF4”,expires_in=300,
refresh_token=“asdfkkk23784987123khjga”,token_type=“login”,expirey=12312312)
更新(或插入)行到“access_token”表中(只能有一行!)
tokenbox.update_token('access_token',rest_token=“123412341232asdfasdf4”,rest_url=“asdfkkk23784987123khjga”)
从“login_token”表中获取行(存储中只有一行!)
login_token=tokenbox.get_token('login_token')
打印(login_token.items())
从“access_token”表中获取行(存储中只有一行!)
access_token=tokenbox.get_token('access_token')
print(access_token.items())


tokenbox.destroy_database()
```

[('login_token_pk',1)、('access_token','12341234123123asdfasdf4')、('expires_in',300)、('refresh_token','asdfkkk23784987123khjga')、('token_type','login')、('expiry',12312312)]
[(access_token_pk,1),(rest_token,'123412341232asdfasdf4'),(rest_url,'asdfkkk23784987123khjga')]
这将销毁名为tokenbox_test的数据库。执行键盘中断以中止。
tokenbox_test dropped succe谢谢。



希望这对你有好处!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
检查java中两个链表之间的子集   java仅在findViewById()下显示一个ImageButton   在Java Graphics2D中,文本如何在矩形上居中对齐?   java需要一个用于电子表格计算器的正则表达式   ^java中的运算符   java通过一些属性配置文件根据环境动态更改wsdl端点URL   java Ebean/Play框架关系未更新   集合如何将POJO列表转换为Java流中的映射<String,List>?   java为什么JFrame不显示整个图像?   java如何将调用静态导入的泛型方法的结果传递给另一个方法?   迭代器或foreach中的java延迟   需要java socket logback日志接收器   在Java中初始化Map的静态数组   雅加达邮件Java MimeMail:解码后获得额外字符   java为什么这个xmldom解析器不能正确解析rtept、name和cmt标记?   java如何刷新Log4J2中的异步记录器(带中断器)   java使用构建插件pom生成的jar。xml作为同一pom中的依赖项   java基于位置的序列ADT如何在O(1)时间内插入元素?   java ORM实体与DDD实体   Java对象分配