用于多客户端配置的auth0中间件

wsgiauth0的Python项目详细描述


https://gitlab.com/dialogue/wsgiauth0/badges/master/build.svghttps://gitlab.com/dialogue/wsgiauth0/badges/master/coverage.svg?job=Run%20py.test

这是一个用于多个客户端配置的auth0中间件。

它将4个键添加到环境映射:

  • wsgiauth0.jwt_声明:解码的声明dict或none如果有错误 发生。示例:

    {
        'iss': 'issuer',
        'sub': 'auth0|user_id',
        'aud': 'https://example.com,
        'exp': 1234567890,
        'iat': 1134567890,
    }
    
  • wsgiauth0.jwt_error:带有键codedescriptionnone的映射 如果没有发生错误,示例:

    {
        'code': 'invalid_header',
        'description': 'Authorization header must be "Bearer token".',
    }
    
  • wsgiauth0.jwt_client:如果有任何信息 已成功从接收到的JSON Web令牌推断:

    {
        'id': 'NieY4eekoo3aed2fe9ei',
        'audience': 'https://example.com',
        'secret': 'shei6eehuF2ui9OphahW',
    }
    
  • 远程用户:如果 出现任何错误。

用法

在粘贴部署ini文件中配置wsgi管道:

[filter:wsgiauth0]
use = egg:wsgiauth0#middleware
clients_config_file = %(here)s/auth0_clients_config.yml

[pipeline:main]
pipeline =
    wsgiauth0
    myapp

[app:myapp]
use = egg:wsgiapp#main

[server:main]
use = egg:waitress#main
host = 0.0.0.0
port = 6543

发电机配置

它需要一个指向auth0客户端配置的客户端配置文件 yaml文件。

下面是一个yaml配置文件的示例。

Client 1:id:oZ0ahm4Thoh1Oghiqu4oe9quaudience:oZ0ahm4Thoh1Oghiqu4oe9qusecret:value:noh4feibaighikeeD0inah9Rei3nei6yeenoa7uar2Dah2yaeKioph8Jux8ahtetype:base64_url_encodedClient 2:id:Aen1XobahDoh7queing3eaS0@clientsaudience:https://example.com/secret:value:|-----BEGIN CERTIFICATE REQUEST-----MIIBZjCB0AIBADANMQswCQYDVQQGEwJDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAx2LwsUexPKQ/0GIHqugXZtIGZxSOovO754KWn3ZWBbDvm/wuh+QfmMj8ZTxnxRymHjSNJ04nCMcqtzl3VDwapMkM433CnyZjoJjA/fRwLRjUepLAMbmoqkOGk1BKNAyidyko7DBnkMayzJRfmnCwFy1hsuikh6oFSinU7MP3LBsCAwEAAaAaMBgGCSqGSIb3DQEJBzELEwljaGFsbGVuZ2UwDQYJKoZIhvcNAQELBQADgYEAP819zy3q1gh5z5FLeFanc3TpdlcGHCQxcTMC/x9iyMpbSd2XkKLrZ02Is1Y8Ox/XeT8zNjOg/nulPg6YrIsywpKFR4orMvuUUMZ8uT8UVNj1pnatmXy9ikjdGtBXeU+EKkMZ4q6aOrG8qyB4o/WETphyxfneazWt3jrLHkKBvXA=-----END CERTIFICATE REQUEST-----type:certiticate

发电机配置

dynamodb可以用作配置源。配置 表中的每个键都应该有一个用于 身份验证。

使用clients_config_table键指定表名,然后 带有客户机配置服务的服务名。

表应该在服务字段上有一个散列键,并有一个排序 在标签字段上键入(该键的人性化描述)。 其他字段是带子键的idaudience和secret键入

你应该需要额外的依赖 (即wsgiauth0[dynamodb])。

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

推荐PyPI第三方库


热门话题
与ReentrantLock相比,java ReentrantReadWriteLock的性能非常差   java如何使用Maven Android Studio正确导入?   安卓将ADB添加到我的Java PC应用程序   反射Java getDeclaredConstructor失败,来自JUnit的NoSuchMethodException   JSP上siteedit标记库的java替代   JavaSpring环境概要文件和JPA   java中是否有一个类似于StringBuilder的类,唯一的区别是它具有固定的长度?   JavaMathContext。小数点32 vs MathContext。小数点64,使用哪一个,为什么?   java使用spring在Ibm Websphere MQ中实现重试逻辑   java调用SpriteBatch。开始()和结束()   java有一种从文本中读取文本的方法。文件,并将其设置为pom中的maven属性。xml专家?   java让sitemesh使用struts2   Java Swing:在现有窗口上定位对话框   使用带有MemSql的JPA本机查询的java Select json列