烧瓶JWT OIDC

flask-jwt-oidc的Python项目详细描述


根据apache许可证2.0版("许可证");
除非符合许可证,否则您不得使用此文件。
您可以在http://www.apache.org/licenses/license-2.0


http://www.apache.org/licenses/license-2.0

根据许可证分发的软件是按"原样"分发的,
没有任何保证或条件,无论是明示的还是暗示的。
请参阅许可证以了解控制许可的特定语言以及许可证下的限制。


描述:35; flask jwt oidc


应该需要对OIDC标准服务进行最低限度的设置。

目前它正在针对KeyColt进行测试,但是将在示例中添加以下配置和测试:
-keypocat
-dex
-google
-amazon iam
-auth0



为通用jwt s提供更多支持
请查看:[**flask jwt simple**](https://github.com/vimalloc/flask-jwt-simple)

在测试中使用。
等。
`` bash
```

创建一个配置文件,读取环境变量:
`` python
config.py


find_dotenv


env_file=find_dotenv()
if env_file:
load_dotenv(env_file)


class config(object):

jwt oidc_well_own_config=env.get('jwt oidc_well_own_config')
jwt oidc_audience=env.get('jwt oidc_audience')
jwt oidc_client_secret=env.get('jwt oidc_client_secret')
`````

*管理对函数的访问,或作为返回true/false的*函数*调用,以便在函数体中进行更细粒度的访问控制。
``python
app.py

从配置导入配置
从烧瓶导入验证错误,jwtmanager




app.config.from_object(config)


def get_roles(dict):
return dict['realm_access']['roles']
app.config['jwt_role_callback']=get_roles

jwt=jwtmanager(app)

@app.route("/api/secure")
@cross_origin(headers=["content type","authorization"])
@cross_origin(headers=["access control allow origin","*"])irl您可以将此范围设置为设置域
@jwt.requires撸auth
def secure():
"需要承载jwt才能从该端点获取响应
""
返回jsonify(message="是受保护的端点。您提供了有效的承载jwt来访问它。")


@app.route("/api/secured and roles")
@交叉源(headers=["content type","authorization"])
@交叉源(headers=["access control allow origin","*"])irl如果jwt.validate_roles("names_editor"):
returnjsonify(message="这是一个安全的端点,在过程的主体中检查了角色!"
"您提供了有效的jwt令牌")

@app.route("/api/secured decorated roles")
@交叉源(headers=["content type","authorization"])
@交叉源(headers=["access control allow origin","*"])irl您可以将其范围设置为一个真正的域
@jwt.requires_roles("names_editor")
def secure_deco_roles():
"需要有效的访问令牌和分配的角色
""
返回jsonify(message="这是一个安全的终结点。"
"在进入过程主体之前检查了角色!"
"您提供了有效的JWT令牌")



-jamie lennox
-james hollinger

开发状态::0.1.3-测试版
分类器:环境::Web API
分类器:预期受众::开发人员
分类器:许可证::OSI批准::Apache 2.0许可证
分类器:操作系统::MacOS::MacOS X
分类器:操作系统::Microsoft::windows
分类器:操作系统::posix
分类器:编程语言::python
分类器:主题::通信::电子邮件
分类器:主题::软件开发::github问题跟踪
分类器:主题::软件开发::库::python模块

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

推荐PyPI第三方库


热门话题
主类中的java访问方法   Javalog4j不读取它的log4j。属性文件   雅加达ee通过Java(web应用程序)使用iText/任何其他使用现成数据的库生成PDF报告   lua使用java阅读TeamSpeak 3消息   将日期转换为BST java   java Spring引用ProxyFactoryBean中带有ref的protoyype bean   如何使java只打印一条带有if语句的消息   java如何通过JavaMail从雅虎服务器发送电子邮件?   使用百分比和BigDecimal的java测试   java如何对字符串数组排序   java验证器+MVC+REST::更新问题   java如何阻止eclipse如此频繁地挂起?   java从AsyncTask(片段内)访问TextView   IDEJava:制作可调整大小和拖动的组件