天天看点

Blazor Wasm 集成国内版Azure Active Directory(AAD)

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账户的配置(国内版)

概要

Blazor Wasm 集成国内版Azure Active Directory(AAD)

身份验证

Blazor Wasm 集成国内版Azure Active Directory(AAD)

证书及密码

Blazor Wasm 集成国内版Azure Active Directory(AAD)

API权限

Blazor Wasm 集成国内版Azure Active Directory(AAD)

公开API配置

Blazor Wasm 集成国内版Azure Active Directory(AAD)

Azure上的配置差不多就这些

接下来就是新建一个Blazor Wasm项目,身份验证类型勾选为标识平台

Blazor Wasm 集成国内版Azure Active Directory(AAD)

找到Client里面的appsettings.json配置第一个url后加上租户id ,clientId那边写上clientid  ,ValidateAuthority这个字段改成true会报错 看起来是应该跟令牌什么的有关

Blazor Wasm 集成国内版Azure Active Directory(AAD)

找到Server里面的appsettings.json 进行如下配置

Blazor Wasm 集成国内版Azure Active Directory(AAD)

最后在Index.razor里面加入Authorize特性

Blazor Wasm 集成国内版Azure Active Directory(AAD)

运行

Blazor Wasm 集成国内版Azure Active Directory(AAD)

至此登录验证完成

Blazor Wasm 集成国内版Azure Active Directory(AAD)

最后提几点Balzor Wasm的集成不像普通的WebAPI项目 如果直接按照开始的文档去集成,会出现跨域问题,解决方案是写一个Filtter但是最后面还是绕不过这上面的配置,所以直接按照文章里面步骤做会比较省事