Blazor BFF OpenID Connect 模板项目教程

Blazor BFF OpenID Connect 模板项目教程

Blazor.BFF.OpenIDConnect.Template Blazor.BFF.OpenIDConnect.Template, Blazor WASM hosted in ASP.NET Core using OpenID Connect BFF (server authentication) 项目地址: https://gitcode.com/gh_mirrors/bl/Blazor.BFF.OpenIDConnect.Template

1. 项目的目录结构及介绍

Blazor.BFF.OpenIDConnect.Template/
├── BlazorBffOpenIdConnect/
│   ├── Client/
│   │   ├── Pages/
│   │   ├── Shared/
│   │   ├── wwwroot/
│   │   ├── _Imports.razor
│   │   ├── App.razor
│   │   ├── Program.cs
│   │   └── Startup.cs
│   ├── Server/
│   │   ├── Controllers/
│   │   ├── Pages/
│   │   ├── wwwroot/
│   │   ├── _Imports.razor
│   │   ├── App.razor
│   │   ├── Program.cs
│   │   └── Startup.cs
│   ├── Shared/
│   │   ├── Models/
│   │   ├── Services/
│   │   └── _Imports.razor
│   ├── BlazorBffOpenIdConnect.csproj
│   ├── appsettings.json
│   └── Program.cs
├── images/
├── .gitignore
├── BlazorBffOpenIDConnect.Template.csproj
├── Changelog.md
├── LICENSE
├── README-NUGET.md
├── README.md
└── global.json

目录结构介绍

  • BlazorBffOpenIdConnect/: 项目的主要目录,包含客户端和服务器端的代码。
    • Client/: Blazor WebAssembly 客户端代码。
      • Pages/: 包含 Razor 页面。
      • Shared/: 包含共享组件和代码。
      • wwwroot/: 静态文件,如 CSS、JavaScript 和图像。
      • _Imports.razor: 导入常用的命名空间。
      • App.razor: 应用程序的根组件。
      • Program.cs: 客户端应用程序的入口点。
      • Startup.cs: 客户端应用程序的配置文件。
    • Server/: ASP.NET Core 服务器端代码。
      • Controllers/: 包含 API 控制器。
      • Pages/: 包含 Razor 页面。
      • wwwroot/: 静态文件,如 CSS、JavaScript 和图像。
      • _Imports.razor: 导入常用的命名空间。
      • App.razor: 应用程序的根组件。
      • Program.cs: 服务器端应用程序的入口点。
      • Startup.cs: 服务器端应用程序的配置文件。
    • Shared/: 客户端和服务器端共享的代码。
      • Models/: 数据模型。
      • Services/: 共享服务。
      • _Imports.razor: 导入常用的命名空间。
    • BlazorBffOpenIdConnect.csproj: 项目文件。
    • appsettings.json: 配置文件。
    • Program.cs: 应用程序的入口点。
  • images/: 项目使用的图像文件。
  • .gitignore: Git 忽略文件。
  • BlazorBffOpenIDConnect.Template.csproj: 模板项目文件。
  • Changelog.md: 项目变更日志。
  • LICENSE: 项目许可证。
  • README-NUGET.md: NuGet 包的说明文件。
  • README.md: 项目说明文件。
  • global.json: 全局配置文件。

2. 项目的启动文件介绍

客户端启动文件

  • Program.cs:
    public class Program
    {
        public static async Task Main(string[] args)
        {
            var builder = WebAssemblyHostBuilder.CreateDefault(args);
            builder.RootComponents.Add<App>("#app");
    
            builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
    
            await builder.Build().RunAsync();
        }
    }
    

服务器端启动文件

  • Program.cs:
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }
    
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
    

3. 项目的配置文件介绍

appsettings.json

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "OpenIDConnectSettings": [
    {
      "Authority": "--your-authority--",
      "ClientId": "--client ID--",
      "ClientSecret": "--client-secret (user secrets)--"
    }
  ]
}

配置文件介绍

  • Logging: 配置日志级别。
    • LogLevel: 定义不同命名空间的日志级别。
  • AllowedHosts: 允许访问的主机。
  • OpenIDConnectSettings: OpenID Connect 的配置。
    • Authority: 认证服务器的地址。
    • ClientId: 客户端 ID。
    • ClientSecret: 客户端密钥(通常存储在用户机密中)。

Blazor.BFF.OpenIDConnect.Template Blazor.BFF.OpenIDConnect.Template, Blazor WASM hosted in ASP.NET Core using OpenID Connect BFF (server authentication) 项目地址: https://gitcode.com/gh_mirrors/bl/Blazor.BFF.OpenIDConnect.Template

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任翊昆Mary

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值