访问GAAP服务的客户端库
ags_client的Python项目详细描述
访问GAAP服务客户端
python包提供用于访问gaap服务的wsgi中间件。
安装
pip3 install ags_client
使用量
注册
您需要一个来自gaap身份代理的client id和client secret。 您现在还不能得到这些,但很快将通过电子邮件向我们发送简短的摘要:
- 你是谁
- 您将在哪个项目上使用它
快速启动
烧瓶
例如:假设flask应用程序是在变量中的webservice.py中定义的 命名为app,创建名为wsgi.py:
importagsfromwebserviceimportappapp.wsgi_app=ags.Client(app.wsgi_app)
然后使用wsgi服务器(如gunicorn或uwsgi)启动应用程序。例如:
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 在将用户身份验证详细信息传递给 包装的应用程序。
它还将拦截对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问题中记录所有问题、问题和功能请求 这个回购的追踪器,我们会尽快查看。如果你是 报告一个bug,如果你能提供尽可能小的 再现问题的代码位。考试不及格就更好了!
贡献
- 查看最新的主控形状以确保该功能尚未实现 或者该错误尚未修复
- 检查ISSue tracker以确保有人尚未请求 和/或贡献了该功能
- 分叉项目
- 启动功能/错误修复分支
- 承诺并推动,直到您对自己的贡献感到满意
- 确保您的更改被单元测试覆盖,这样我们就不会破坏它 在未来无意中。
- 请不要弄乱setup.py、版本或历史记录。
版权
版权所有©2016英国政府(政府数字服务)。见 许可证了解更多详细信息。