目录:
- OpenID 与 OAuth2 基础知识
- Blazor wasm Google 登录
- Blazor wasm Gitee 码云登录
- Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务
- Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasm
- Blazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端管理组件
- Blazor SSR/WASM IDS/OIDC 单点登录授权实例4 - 部署服务端/独立WASM端授权
- Blazor SSR/WASM IDS/OIDC 单点登录授权实例5 - Blazor hybird app 端授权
- Blazor SSR/WASM IDS/OIDC 单点登录授权实例5 - Winform 端授权
源码
BlazorOIDC.Server 项目
部署
部署步骤跟平常blazor一样, 这里就不复述了, demo 部署后的域名是 ids2.app.es
新建独立WASM工程
改为以前文章配置的测试点 "applicationUrl": "https://localhost:5002;http://localhost:5003",
Program.cs 文件
using BlazorWasmOIDC;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
var authority = "https://localhost:5001/";
var clientId = "Blazor5002";
var url2 = builder.HostEnvironment.BaseAddress;
//完整的配置
builder.Services.AddOidcAuthentication(options =>
{
options.ProviderOptions.Authority = authority;
options.ProviderOptions.ClientId = clientId;
options.ProviderOptions.ResponseType = "code";
options.ProviderOptions.RedirectUri = $"{url2}authentication/login-callback";
options.ProviderOptions.PostLogoutRedirectUri = $"{url2}authentication/logout-callback";
options.ProviderOptions.DefaultScopes.Add("BlazorWasmIdentity.ServerAPI");
options.UserOptions.RoleClaim = "role";
});
await builder.Build().RunAsync();
Index.razor 文件
@page "/"
@using System.Diagnostics.CodeAnalysis
@using Microsoft.AspNetCore.Components
@using Microsoft.AspNetCore.Components.WebAssembly.Au