Fizz网关入门教程-权限校验

概述

通过网关暴露的接口,必须配置路由。

权限校验是对请求接口的客户端的认证,确认其能否访问接口。

客户端可通过 fizz-appid 请求头表明身份,即表明自身是什么应用。

管理后台可配置应用的认证方式,当前支持 md5、密钥、自定义 3 种方式。

路由可关联应用,即对访问接口的客户端认证。

下面以 “路由-反向代理” 的例子为基础,介绍应用的定义及 3 种认证方式。

应用定义

管理后台定义应用 client-app-1:

Fizz网关入门教程-权限校验

Fizz网关入门教程-权限校验

配置认证

密钥认证

Fizz网关入门教程-权限校验

上面的配置:网关对请求头 fizz-appid=client-app-1 的客户端,会检验 fizz-sign 请求头是否为图中的密钥。

md5认证

Fizz网关入门教程-权限校验

上面的配置:网关 MD5【client-app-1 + fizz-ts(时间戳,毫秒) + 95c6990e07714a63aba8354fa6544701】,检查前值是否与客户端传递的 fizz-sign 一致。

自定义

认证方式选 “自定义插件”,在网关代码中继承 AbstractCustomAuth.java,并实现

public abstract Mono<result<?>> auth(String appId, String ip, String timestamp, String sign, App fizzAppConfig, ServerWebExchange exchange);
// appId: client-app-1
// ip: &#x5BA2;&#x6237;&#x7AEF; ip
// timestamp: fizz-ts
// sign: fizz-sign
// fizzAppConfig: &#x5E94;&#x7528;&#x914D;&#x7F6E;

</result<?>

实现类标注为 @Component,网关需重启,如:

@Component
public class MyAuth extends AbstractCustomAuth {

    @Override
    public Mono<result<?>> auth(String appId, String ip, String timestamp, String sign, App fizzAppConfig, ServerWebExchange exchange) {
        if (fizzAppConfig.secretkey.equals(sign)) {
            return Mono.just(Result.succ()); // &#x8BA4;&#x8BC1;&#x901A;&#x8FC7;
        }
        return Mono.just(Result.fail("&#x5BC6;&#x94A5;&#x4E0D;&#x5BF9;")); // &#x54CD;&#x5E94;&#x5BA2;&#x6237;&#x7AEF; "&#x5BC6;&#x94A5;&#x4E0D;&#x5BF9;"
    }
}

</result<?>

路由配置

在 “路由-反向代理” 的例子上:

Fizz网关入门教程-权限校验

选择 client-app-1 保存后:

这样配置后:只有 client-app-1 客户端能访问 aservice/a/b,同时网关会根据 client-app-1 的认证方式,校验请求。

Fizz网关介绍

Fizz Gateway 是一个基于 Java开发的微服务聚合网关,能够实现热服务编排聚合、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。

官网:https://www.fizzgate.com

GitHub: https://github.com/wehotel/fizz-gateway-community

码云:https://gitee.com/fizzgate/fizz-gateway

入门教程:https://www.fizzgate.com/fizz/guide/GettingStarted/

作者:lancer

Original: https://www.cnblogs.com/ZHONG-J/p/16175441.html
Author: ZHONG_J
Title: Fizz网关入门教程-权限校验

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/593177/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球