访问GAAP服务的客户端库

ags_client的Python项目详细描述


访问GAAP服务客户端

Test result

python包提供用于访问gaap服务的wsgi中间件。

安装

pip3 install ags_client

使用量

注册

您需要一个来自gaap身份代理的client idclient 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、版本或历史记录。

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

推荐PyPI第三方库


热门话题
如何在java中调用Paint组件方法   多层次POM中的java覆盖依赖项/插件管理   java模式识别   JavaSpringMVC+Log4j2定义了Log4j2。未标识非类路径位置中的属性文件   java我们如何将IntelliJ IDEA中的maven和gradle项目与源代码浏览支持集成?   Maven mvn exec:java在Windows上工作,但不是Ubuntu 20   java在Jaxb2Marshaller上使用带有packagesToScan属性的JAXBElement时没有端点适配器   java删除方法和节点   java如何为某些场景创建正则表达式模式   java如何通过gridView中的intent()传递ArrayList数据。setOnItemClickListener()   java UnsupportedClassVersionError 1.7/1.5   java为什么JVM参数是http。tomcat servlet没有使用proxyHost?   java将ArrayList从字母顺序排序到最频繁/最不频繁   java动态字段列表迭代   java如何将字节转换为位?   hadoop java。mapreduce作业中的lang.NullPointerException   javasocketIO无法与Android中的LocationListener一起使用   java在卸载时清除内部存储   java池回收错误2个精灵同时碰撞到一个精灵