用于多客户端配置的auth0中间件
wsgiauth0的Python项目详细描述
这是一个用于多个客户端配置的auth0中间件。
它将4个键添加到环境映射:
wsgiauth0.jwt_声明:解码的声明dict或none如果有错误 发生。示例:
{ 'iss': 'issuer', 'sub': 'auth0|user_id', 'aud': 'https://example.com, 'exp': 1234567890, 'iat': 1134567890, }
wsgiauth0.jwt_error:带有键code和description或none的映射 如果没有发生错误,示例:
{ '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键指定表名,然后 带有客户机配置服务的服务名。
表应该在服务字段上有一个散列键,并有一个排序 在标签字段上键入(该键的人性化描述)。 其他字段是带子键的id、audience、和secret。 键入和值。
你应该需要额外的依赖 (即wsgiauth0[dynamodb])。