gateway的授权思考

gateway的授权思考

1、看了一下若依的cloud项目。

登录:是传将authoration 这个token和当前用户绑定,然后放在redis.在登录的时候,也将相关的信息,比如校验了一下。不通过就不通过。

复制代码
@Override
public OAuth2ClientDO validOAuthClientFromCache(String clientId, String clientSecret, String authorizedGrantType,
                                                Collection<String> scopes, String redirectUri) {
    // 校验客户端存在、且开启
    OAuth2ClientDO client = getSelf().getOAuth2ClientFromCache(clientId);
    if (client == null) {
        throw exception(OAUTH2_CLIENT_NOT_EXISTS);
    }
    if (CommonStatusEnum.isDisable(client.getStatus())) {
        throw exception(OAUTH2_CLIENT_DISABLE);
    }

    // 校验客户端密钥
    if (StrUtil.isNotEmpty(clientSecret) && ObjectUtil.notEqual(client.getSecret(), clientSecret)) {
        throw exception(OAUTH2_CLIENT_CLIENT_SECRET_ERROR);
    }
    // 校验授权方式
    if (StrUtil.isNotEmpty(authorizedGrantType) && !CollUtil.contains(client.getAuthorizedGrantTypes(), authorizedGrantType)) {
        throw exception(OAUTH2_CLIENT_AUTHORIZED_GRANT_TYPE_NOT_EXISTS);
    }
    // 校验授权范围
    if (CollUtil.isNotEmpty(scopes) && !CollUtil.containsAll(client.getScopes(), scopes)) {
        throw exception(OAUTH2_CLIENT_SCOPE_OVER);
    }
    // 校验回调地址
    if (StrUtil.isNotEmpty(redirectUri) && !StrUtils.startWithAny(redirectUri, client.getRedirectUris())) {
        throw exception(OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH, redirectUri);
    }
    return client;
}

鉴权:gateway是处理,check从oauth通过rpc接口鉴权,然后获取userId,或者其他的需要的重要信息放入header上作为业务的传递。

业务:业务系统,不需要做任何鉴权,只需要做业务操作,其他的userId信息可以用userHolder类处理。

相关推荐
JJJennie7776 小时前
MAI Gateway私有化部署全攻略:大模型网关怎么部署?附架构图
开源·gateway·ai网关
Raas1009 小时前
MAI Gateway选购攻略:开源AI网关有哪些?避坑指南与对比
大数据·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
Orange_sparkle1 天前
Pi Agent Gateway 使用指南:给 Pi 配上可视化、可扩展的 Agent 工作台
ai·gateway·pi·pi sdk
4SAPI2 天前
企业级文档智能处理大模型 API 架构选型指南:4SAPI、硅基流动与 OpenRouter 的工程权衡
人工智能·gateway·agent·1024程序员节·rag
4SAPI3 天前
内容生成与文本润色场景下的大模型 API 聚合网关选型指南
人工智能·gateway·php
Raas1004 天前
AI网关厂商排名?MAI Gateway(魔芋企业级AI网关)vs 开源方案全面对比
人工智能·开源·gateway·ai网关·mai gateway·企业级ai网关·企业级产品
4SAPI4 天前
企业级 RAG 知识库问答大模型 API 生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
人工智能·gateway·agent·rag
JJJennie7775 天前
2026年大模型网关自建还是买?MAI Gateway等主流方案横评
人工智能·开源·gateway·ai网关
Raas1006 天前
2026年AI网关推荐?MAI Gateway(魔芋企业级AI网关)等主流方案横评
大数据·人工智能·ai·gateway·ai网关·mai gateway
4SAPI7 天前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php