开发者社区 > 云原生 > 正文

使用了jwt-auth如何配置路径白名单啊?

使用了jwt-auth如何配置路径白名单啊?

展开
收起
云上静思 2023-10-20 08:49:03 145 0
3 条回答
写回答
取消 提交回答
  • 按路由或域名匹配生效的 不支持白名单

    此答案来自钉钉群“MSE微服务引擎用户交流群”

    2023-10-20 16:00:32
    赞同 展开评论 打赏
  • 在使用 jwt-auth 来进行身份验证和授权时,你可以通过配置路径白名单来排除某些路径不需要进行身份验证。下面是一种常见的配置方法:

    1. 打开项目中的 config/auth.php 文件。

    2. auth.php 文件中,找到 guards 部分,一般会有一个默认的 api guard,类似如下代码:

    'guards' => [
        'api' => [
            'driver' => 'jwt',
            'provider' => 'users',
        ],
    ],
    
    1. api guard 中,添加一个 except 数组来配置路径白名单,例如:
    'guards' => [
        'api' => [
            'driver' => 'jwt',
            'provider' => 'users',
            'except' => [
                'api/login', // 不需要身份验证的登录接口
                'api/public', // 不需要身份验证的公开接口
            ],
        ],
    ],
    

    在上述示例中,except 数组中的路径(例如 api/loginapi/public)将被排除在身份验证之外,即不需要进行身份验证。

    1. 保存并关闭 auth.php 文件。

    配置完成后,这些在 except 数组中配置的路径将不会被 jwt-auth 进行身份验证,可以自由访问。

    2023-10-20 15:38:12
    赞同 展开评论 打赏
  • 使用了jwt-auth并希望在路由或域名匹配时生效,但不支持白名单,那么你可以考虑使用其他的JWT库或解决方案。有许多JWT库和解决方案提供了更灵活的选项,可以满足你的需求。例如,你可以考虑使用Firebase JWT库,它提供了一个简单的API,可以轻松地验证和解码JWT令牌。
    如果你已经使用了jwt-auth,并且想要在云原生网关中实现JWT验证,你可以考虑使用Spring Cloud Gateway的JWT模块。这个模块提供了一个简单的API,可以轻松地在网关中实现JWT验证。你可以使用Spring Cloud Gateway的JWT模块来验证JWT令牌,并将其添加到HTTP请求的头部,然后将请求转发到你的微服务。这样,你的微服务就可以使用JWT令牌来验证请求的来源和权限。

    2023-10-20 08:58:39
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载