烧瓶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模块
除非符合许可证,否则您不得使用此文件。
您可以在http://www.apache.org/licenses/license-2.0
http://www.apache.org/licenses/license-2.0
根据许可证分发的软件是按"原样"分发的,
没有任何保证或条件,无论是明示的还是暗示的。
请参阅许可证以了解控制许可的特定语言以及许可证下的限制。
描述:35; flask jwt oidc
应该需要对OIDC标准服务进行最低限度的设置。
目前它正在针对KeyColt进行测试,但是将在示例中添加以下配置和测试:
-keypocat
-dex
-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模块