MiniAuth - 轻量级.Net开源身份认证中间件

文章目录

.NetCore身份认证组件MiniAuth

安装MiniAuth组件

install-package MiniAuth

在Startup/Program配置和启用MiniAuth

csharp 复制代码
            var builder = WebApplication.CreateBuilder(args);

            //注入MiniAuth(越早注入越好)
            builder.Services.AddMiniAuth(miniAuthOption =>
            {
                //修改认证类型
                miniAuthOption.AuthenticationType = AuthType.BearerJwt;
                //修改秘钥
                miniAuthOption.JWTKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("cvzRqFw9m7HPNePy"));
                //修改MiniAuth数据库链接
                miniAuthOption.SqliteConnectionString = "Source=lingbug_miniauth_identity.db";
            });

            builder.Services.AddControllers();
            builder.Services.AddEndpointsApiExplorer();
            builder.Services.AddSwaggerGen();

            var app = builder.Build();

            if (app.Environment.IsDevelopment())
            {
                app.UseSwagger();
                app.UseSwaggerUI();
            }

            app.UseHttpsRedirection();
            app.UseAuthorization();
            app.MapControllers();

            app.Run();

MiniAuth默认配置

csharp 复制代码
    internal class MiniAuthOption
    {
        public static string RoutePrefix = "MiniAuth";
        public static string LoginPath = $"/{RoutePrefix}/login.html";
        public static bool DisableMiniAuthLogin = false;

        public static AuthType AuthenticationType = AuthType.Cookie;
        public static SecurityKey JWTKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("this is miniauth key for demo"));
        /// <summary>
        /// Token expires in seconds, default is 1 hour
        /// </summary>
        public static int TokenExpiresIn = 60 * 60;
        public static string Issuer = $"{RoutePrefix}";
        public static string SqliteConnectionString = "Data Source=miniauth_identity.db";
    }

MiniAuth认证类型枚举

csharp 复制代码
    public enum AuthType
    {
        Cookie,
        BearerJwt
    }

配置完成,启动项目,访问管理界面

管理界面的端口(Endpoints 管理)

名称 路由
HTTP: POST /MiniAuth/refreshToken /MiniAuth/refreshToken
HTTP: POST /MiniAuth/login /MiniAuth/login
HTTP: POST /MiniAuth/api/saveUser /MiniAuth/api/saveUser
HTTP: POST /MiniAuth/api/saveRole /MiniAuth/api/saveRole
HTTP: POST /MiniAuth/api/resetPassword /MiniAuth/api/resetPassword
HTTP: POST /MiniAuth/api/getUsers /MiniAuth/api/getUsers
HTTP: POST /MiniAuth/api/getConfig /MiniAuth/api/getConfig
HTTP: POST /MiniAuth/api/deleteUser /MiniAuth/api/deleteUser
HTTP: POST /MiniAuth/api/deleteRole /MiniAuth/api/deleteRole
HTTP: GET /MiniAuth/logout /MiniAuth/logout
HTTP: GET /MiniAuth/api/getUserInfo /MiniAuth/api/getUserInfo
HTTP: GET /MiniAuth/api/getRoles /MiniAuth/api/getRoles
HTTP: GET /MiniAuth/api/getAllEndpoints /MiniAuth/api/getAllEndpoints
HTTP: GET /MiniAuth/AccessDenied /MiniAuth/AccessDenied
相关推荐
o0向阳而生0o1 小时前
63、.NET 异常处理
c#·.net·异常处理
Kookoos5 小时前
性能剖析:在 ABP 框架中集成 MiniProfiler 实现性能可视化诊断
后端·c#·.net·abp vnext·miniprofiler
zhanshuo5 小时前
5分钟手把手实战:用HTML5基础结构打造你的个人简介页面
.net
界面开发小八哥5 小时前
界面开发框架DevExpress XAF实践:集成.NET Aspire后如何实现数据库依赖?
ui·.net·界面控件·devexpress·ui开发·xaf
zhanshuo5 小时前
5分钟搞定!ASP.NET正则表达式验证控件实战:轻松拦截99%的无效邮箱!
.net
阿翰7 小时前
自动 GitHub Readme 20 种语言翻译平台 - OpenAiTx 开源免费
c#·.net
津津有味道1 天前
VB.net复制Ntag213卡写入UID
.net·nfc·ntag213·写uid
lv_fu1 天前
调用.net DLL让CANoe自动识别串口号
.net·dll·capl·canoe·vid pid·自动串口
步、步、为营1 天前
.NET 事件模式举例介绍
java·开发语言·.net
追逐时光者1 天前
免费且全面的C#/.NET/.NET Core面试宝典,阅读量突破40万+了!
后端·.net