用于多客户端配置的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第三方库


热门话题
java找不到当前线程的会话   同步Java同步方法调用非同步方法   这段代码的java时间复杂度是如何列出一个集合的所有子集的?   java Jetty SslConnectionFactory nextProtocol   为什么在java集合中使用游标而不是for循环   java如何对长函数进行单元测试?   如何从java中的文本输入创建数组   java工具栏内容未显示,尽管出现了片段内容   java MediaPlayer无法处理本地文件   java在多次读取时,从TCP服务器读取的数据将挂起   java组织。springframework。数据领域无法将PageImpl强制转换为   java如何使用@WithMockUser并从属性文件中传递用户名和密码?   JavaSpringBootGradle插件2。x如何使用自定义启动器布局工厂   sockets Java客户端和服务器之间使用字符串等进行通信的“行业标准”方法是什么   java变量引用不存在的资源:${project\u loc:project\u name}   搜索如何返回LDAP Java中所有用户的特定属性?   JDK1.8.016x的java密钥斗篷代理问题   spring如何使用Java中的Exchange获取邮件   java Kotlin+Dagger 2:Dagger*文件不会生成   如何在传入的double上执行操作,然后在Java中返回