1.什么是Azure Active Directory?
https://docs.microsoft.com/zh-cn/azure/active-directory/fundamentals/active-directory-whatis
说白了就是微软自己的一套权限管理系统
在操作之前先注册个Azure账户并且按照下面的流程创建一个AAD的服务
https://docs.microsoft.com/zh-cn/azure/active-directory/develop/quickstart-v2-aspnet-core-webapp-calls-graph
由于在摸索的时候走过很多坑,下面直接看一下Azure账户的配置(国内版)
概要
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLysmeOJTTE5ENNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5EzN2EjM0UTM5EjMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
身份验证
证书及密码
API权限
公开API配置
Azure上的配置差不多就这些
接下来就是新建一个Blazor Wasm项目,身份验证类型勾选为标识平台
找到Client里面的appsettings.json配置第一个url后加上租户id ,clientId那边写上clientid ,ValidateAuthority这个字段改成true会报错 看起来是应该跟令牌什么的有关
找到Server里面的appsettings.json 进行如下配置
最后在Index.razor里面加入Authorize特性
运行
至此登录验证完成
最后提几点Balzor Wasm的集成不像普通的WebAPI项目 如果直接按照开始的文档去集成,会出现跨域问题,解决方案是写一个Filtter但是最后面还是绕不过这上面的配置,所以直接按照文章里面步骤做会比较省事