访问GaaP服务的客户端库
项目描述
访问GaaP服务的客户端
提供访问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、版本或历史记录。
版权
版权所有 © 2016 HM Government (Government Digital Service)。有关详细信息,请参阅LICENSE。