跳转到主要内容

支持多客户端配置的Auth0中间件

项目描述

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

这是一个支持多客户端配置的Auth0中间件。

它向 environ 映射中添加了4个键

  • wsgiauth0.jwt_claims:解码后的声明字典或如果发生任何错误则为 None。例如

    {
        'iss': 'issuer',
        'sub': 'auth0|user_id',
        'aud': 'https://example.com,
        'exp': 1234567890,
        'iat': 1134567890,
    }
  • wsgiauth0.jwt_error:一个具有 codedescription 键的映射或如果未发生错误则为 None,例如

    {
        'code': 'invalid_header',
        'description': 'Authorization header must be "Bearer token".',
    }
  • wsgiauth0.jwt_client:一个包含客户端信息的映射,如果从接收到的JSON Web Token中成功推断出任何信息

    {
        'id': 'NieY4eekoo3aed2fe9ei',
        'audience': 'https://example.com',
        'secret': 'shei6eehuF2ui9OphahW',
    }
  • REMOTE_USER:来自 wsgiauth0.jwt_claims 的解码主题或如果发生任何错误则为 None

用法

配置您的wsgi管道在paste deploy ini文件中

[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

使用DynamoDB进行配置

它期望有一个指向Auth0客户端配置yaml文件的 clients_config_file 键。

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

Client 1:
    id: oZ0ahm4Thoh1Oghiqu4oe9qu
    audience: oZ0ahm4Thoh1Oghiqu4oe9qu
    secret:
        value: noh4feibaighikeeD0inah9Rei3nei6yeenoa7uar2Dah2yaeKioph8Jux8ahte
        type: base64_url_encoded

Client 2:
    id: Aen1XobahDoh7queing3eaS0@clients
    audience: https://example.com/
    secret:
        value: |
            -----BEGIN CERTIFICATE REQUEST-----
            MIIBZjCB0AIBADANMQswCQYDVQQGEwJDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
            gYkCgYEAx2LwsUexPKQ/0GIHqugXZtIGZxSOovO754KWn3ZWBbDvm/wuh+QfmMj8
            ZTxnxRymHjSNJ04nCMcqtzl3VDwapMkM433CnyZjoJjA/fRwLRjUepLAMbmoqkOG
            k1BKNAyidyko7DBnkMayzJRfmnCwFy1hsuikh6oFSinU7MP3LBsCAwEAAaAaMBgG
            CSqGSIb3DQEJBzELEwljaGFsbGVuZ2UwDQYJKoZIhvcNAQELBQADgYEAP819zy3q
            1gh5z5FLeFanc3TpdlcGHCQxcTMC/x9iyMpbSd2XkKLrZ02Is1Y8Ox/XeT8zNjOg
            /nulPg6YrIsywpKFR4orMvuUUMZ8uT8UVNj1pnatmXy9ikjdGtBXeU+EKkMZ4q6a
            OrG8qyB4o/WETphyxfneazWt3jrLHkKBvXA=
            -----END CERTIFICATE REQUEST-----
        type: certiticate

使用DynamoDB进行配置

DynamoDB可以用作配置源。配置表应为每个用于身份验证的键提供一个项。

使用 clients_config_table 键指定表名,并使用 clients_config_service 指定服务名。

表应在 service 字段上有一个哈希键,在 label 字段上有一个排序键(键的友好描述)。其他字段是 idaudiencesecret,具有 typevalue 子键。

您需要要求 dynamodb 扩展依赖项(即 wsgiauth0[dynamodb])。

项目详情


下载文件

下载您平台对应的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源分发

wsgiauth0-0.0.19.tar.gz (6.6 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页