wakeonweb/kong-oauth2-firewall-bundle

Kong OAuth2 Firewall Bundle

安装: 214

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.0 2018-11-07 10:22 UTC

This package is auto-updated.

Last update: 2024-09-08 07:26:26 UTC


README

注意:当在使用Kong API网关时,此包处理用户身份验证。请确保将您的应用程序与外部世界隔离。Kong将用户凭据转换为一系列用于用户身份验证的头部信息。攻击者可以直接访问您的应用程序来伪造这些头部信息。

配置

/config/packages/security.yaml

security:
    providers:
        trusted:
            id: WakeOnWeb\Bundle\KongOAuth2FirewallBundle\Security\TrustedUserProvider
        # OR USE YOUR OWN PROVIDER
        # in_memory:
        #     memory:
        #         users:
        #             66ce7c7d-ef0a-47f9-b952-a7dd44ebc7cc: ~

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            kong:
                consumer_ids:
                    - 8ca2548f-3b97-4a03-847e-9e42c150e644
                anonymous_consumer_ids:
                    - 836b6e33-fd83-43b6-ab77-74390873d7b6

    access_control:
        - { path: ^/me, roles: IS_AUTHENTICATED_FULLY }
        - { path: ^/ping, roles: IS_AUTHENTICATED_ANONYMOUSLY }

身份验证机制使用kong提供的头部信息的组合。已验证用户将拥有以下两个头部:X-Consumer-IDX-Authenticated-UserID。匿名用户将只有头部信息X-Anonymous-Consumer

看起来X-Authenticated-UserID头部信息并不可靠。防火墙只能信任X-Consumer-IDX-Anonymous-Consumer。这就是为什么这两个ID都应该出现在防火墙配置中的原因。

待办事项

  • 添加一个HTTP客户端/Guzzle中间件,用于在与其他本地微服务通信时转发kong身份验证头部信息。