跳转到主要内容

访问GaaP服务的客户端库

项目描述

访问GaaP服务的客户端

Test result

提供访问GaaP服务的WSGI中间件的Python包。

安装

pip3 install ags_client

使用

注册

您需要一个来自GaaP身份代理的 客户端ID客户端密钥。您目前无法获取这些信息,但不久将通过发送包含以下内容的简要摘要给我们来获得这些信息:

  • 您是谁

  • 您打算在哪个项目上使用它

快速入门

Flask

例如:假设您的Flask应用在名为 app 的变量中定义为 webservice.py 文件中,创建一个名为 wsgi.py 的文件

import ags

from webservice import app


app.wsgi_app = ags.Client(app.wsgi_app)

然后使用Gunicorn或uWSGI等WSGI服务器启动您的应用程序。例如

gunicorn wsgi:app

配置

中间件寻找某些环境变量进行设置。以下变量是 必需的

AGS_CLIENT_ISSUER

OIDC身份代理的URL

AGS_CLIENT_ID

您收到的客户端ID

AGS_CLIENT_SECRET

您收到的客户端密钥

AGS_CLIENT_AUTHENTICATED_PATHS

以逗号分隔的路径列表,这些路径在您的Web应用程序中需要身份验证。可以包含正则表达式。

AGS_CLIENT_SIGN_OUT_PATH

应用程序中注销视图的路径 - 默认:sign-out

以下变量为可选

AGS_CLIENT_DEBUG

如果设置为True,错误将由Werkzeug调试器处理。请不要在生产环境中使用!

AGS_CLIENT_LOG_PATH

将日志记录到指定的文件,除了控制台外

AGS_CLIENT_SESSION_COOKIE

用于存储会话ID的cookie名称 - 默认:ags_client_session

AGS_CLIENT_SESSION_SECRET

用于加密会话cookie的秘密密钥 - 默认:在启动时生成一个新的秘密密钥

以下变量可以用于覆盖默认值,但通常不应使用

AGS_CLIENT_CALLBACK_PATH

覆盖默认OIDC回调路径

AGS_CLIENT_FEATURE_FLAG_COOKIE

用于存储功能标志状态的cookie名称 - 默认:ags_client_active

AGS_CLIENT_FEATURE_FLAG_DEFAULT

如果未设置cookie,功能标志的默认状态 - 默认:True

AGS_CLIENT_VERIFY_SSL

如果设置为False,则跳过代理的SSL证书验证

使用

当激活时,中间件将拦截AGS_CLIENT_AUTHENTICATED_PATHS环境变量中指定的路径的请求,并在将用户身份验证详情传递给包装应用程序之前执行OpenID Connect身份验证。

它还将拦截对AGS_CLIENT_SIGN_OUT_PATH的请求,在将请求传递给包装应用程序之前在身份代理上结束会话。

激活

默认情况下激活中间件,除非将AGS_CLIENT_FEATURE_FLAG_DEFAULT环境变量设置为False

通过特征标志cookie激活或停用中间件,可以通过浏览到/toggle-feature/{FLAG}来切换,其中{FLAG}AGS_CLIENT_FEATURE_FLAG_COOKIE环境变量的值或默认值ags_client_active

支持

此源代码按原样提供,不提供事件响应或支持级别。请在Github问题跟踪器中记录所有问题、问题和功能请求,我们将尽快查看。如果您正在报告错误,那么提供能够重现问题的最小代码片段将非常有帮助。失败测试就更好了!

贡献

  • 查看最新主分支,以确保功能尚未实现或错误尚未修复

  • 检查问题跟踪器,以确保没有人已经请求并/或贡献了此功能

  • 分支项目

  • 开始功能/错误修复分支

  • 提交并推送,直到您对您的贡献满意

  • 确保您的更改被单元测试覆盖,这样我们就可以确保在未来无意中破坏它。

  • 请勿修改setup.py、版本或历史记录。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源代码分发

ags_client-0.1.12.tar.gz (11.4 kB 查看哈希值)

上传时间 源代码

由以下支持