ocelot jwt 进行统一验证

 

前一个帖子发了有关jwt 验证api的内容,这一次将jwt集成到ocelot网关中。

ocelot集成jwt有一个很不错的nuget包,ocelot.jwtauthorize  ocelot jwt 进行统一验证,但是这个包似乎支持netcore2.X

 

https://github.com/axzxs2001/Ocelot.JWTAuthorize

https://www.cnblogs.com/axzxs2001/p/9250588.html

这两个地址有详细的使用说明

 

 

1、首先,我做了三个角色,

Authorize2.2  -------  登陆

OcelotGatewayService  --------  网关

TestApi1-2.2    --------   业务api

ocelot jwt 进行统一验证

 

 首先来看OcelotGatewayService  

ocelot jwt 进行统一验证

 

 在startup中,用于jwt验证的部分。我们来看看源码

ocelot jwt 进行统一验证

 

 可见,其主要还是对

using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens;

做了一些简单封装

ocelot jwt 进行统一验证

 

 JwtAuthorize这个配置是在三个角色里都要有的,且都要一样

 

2、在Authorize2._2  login 控制器中,应该做到对用户名密码的验证,成功,则添加用户对应的权限,token的过期时间,生成token。

 

3、在业务api中

ocelot jwt 进行统一验证

 

 

要生命该权限列表中可访问的url,然后在api头部

ocelot jwt 进行统一验证

 

声明通过权限名

 

例子demo

 https://gitee.com/hallejuyahaha/OcelotDemo-Dotnet2.2

 

 

 

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-27
  • 2022-12-23
  • 2022-12-23
  • 2022-02-10
  • 2022-12-23
猜你喜欢
  • 2021-09-29
  • 2021-06-24
  • 2022-12-23
  • 2021-07-19
  • 2021-06-10
  • 2021-08-25
相关资源
相似解决方案