Blazor 应用如何使用 Azure Active Directory 认证登录

点击上方蓝字 / 关注“汪宇杰博客”

原文:Azure Tips and Tricks

翻译:汪宇杰

使用 Azure Active Directory 保护您的应用程序

您可以使用 Azure Active Directory (AAD) 让用户进行身份验证并授权使用您的应用。AAD 提供了一种智能身份即服务来保护您的应用,并且它易于使用和集成。

在这篇文章中,我们将创建一个新的 Blazor WebAssembly 应用程序并在其中集成 Azure Active Directory,以便用户可以在应用中进行身份验证。

前置要求

你需要以下准备:

  • Azure 订阅(如果您没有 Azure 订阅,请在开始之前创建一个免费帐户)

  • .NET Core 最新版本 SDK

在 Blazor WASM 应用中集成 AAD

我们将使用 Azure Active Directory (AAD) 保护独立的 Blazor WebAssembly 应用。为此,我们将首先在 Azure Portal 的 AAD 中注册一个应用。

1. 打开 Azure Portal

2. 选择左上角的菜单,然后选择 Azure Active Directory

3. 在 AAD 中,选择 App registrations

4. 选择  New registration。这将打开注册应用页面。我们将使用它来注册 Blazor 应用程序。

  1. 填写应用名称

  2. Supported account types 设置为 Accounts in this organizational directory only

  3. 在重定向 URI 中,选择 Web 并填写 https://localhost:5001/authentication/login-callback。我们将为应用使用 5001 端口,因为这是它在 IIS express 中的默认端口,但我们可能需要稍后在创建应用程序时更改此端口

  4. 选择 Register 创建应用

5. 注册应用后,您将看到 client id 和 tenant id。把他们复制出来,我们稍后需要。

6. 选择 Authentication  菜单

7. 在 Implicit grant 下,选择 Access tokens 和 ID tokens

8. 点击 Save

9. 搞定!现在,我们可以创建 Blazor 应用。打开命令提示符并使用以下命令创建 Blazor 应用,在其中填写client id 和 tenant id 以及应用注册的名称:

dotnet new blazorwasm -au SingleOrg --client-id "{CLIENT ID}" -o {APP NAME} --tenant-id "{TENANT ID}"

10. 这个命令创建了一个包含 Blazor WebAssembly 应用的文件夹。打开该目录。

11. 运行以下命令编译:

dotnet build

12. 使用以下命令运行:

dotnet run

13. Console 输出将显示应用运行所在的 URL。检查URL的端口是否与我们在AAD(5001)中的注册的程序配置的一样。如果不是,请更改应用程序注册以匹配端口。启动浏览器并打开 Blazor 应用程序的 URL。该程序有一个用于身份认证的登录菜单,点击并使用您的 Azure 帐户或 AAD 租户中存在的其他帐户登录。您将登录成功,并看到您的名字。

结论

Azure Active Directory 让您能够保护您的应用,并无需担心复杂的安全设置。您可以使用它来保护各种类型的应用,包括 Blazor WebAssembly 应用程序。赶紧上手实践吧!

汪宇杰博客

Azure | .NET | 微软 MVP

无广告,不卖课,做纯粹的技术公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python notebook右侧网页_《Python web开发》笔记 一:网页开发基础

网页基础知识网页的构成网页由html、css和Javascript构成,html是框架,CSS是样式和装饰,JS则是各项功能实现。我们把网页的组成类比成一栋房子,Html相当于房子的结构,CSS相当于房子的装修装饰,JavaScript相当…

推荐几个超有趣的公众号

全世界只有3.14 % 的人关注了爆炸吧知识想要和别人有聊不完的话题?当然是多读书多看新闻了解新鲜有趣的事物啦如果你没有时间去阅读那么关注以下公号将会让你收获更多信息~长按下方二维码选择“识别图中二维码”订阅疯狂历史ID:fkhistory▼ 简介&#xf…

省钱之道--图解域域树域林根域的含义

如图:contoso这家公司的IT环境中有很多类型的IT资源,而目前这些IT资源都处于一个分散管理的状态中,这样无形中增加了contoso这家公司的管理成本,而且管理制度没有办法落实到实际的生产环境中去。那么,如何解决这个问题…

动态表单实现客户端二次过滤及字段汇总统计

最终效果动态表单 1、表格分录首行出现客户端二次过滤行2、表格分录最后一行出现汇总行实现代码转载于:https://www.cnblogs.com/fyq891014/p/4188779.html

SqlBulkCopy只支持SQL Server? EF Core实现支持多数据库类型的Bulk Copy

前言Microsoft SQL Server包含一个名为bcp的命令行实用工具,可以将较大文件快速大容量复制到SQL Server数据库的表或视图中,这种方法被称为Bulk Copy(批量复制)。Bulk Copy相比与循环插入有很大的性能优势,网上有很多测试文章,这里…

让TA们告诉你,疫情当下如何更彪悍的成长

全世界只有3.14 % 的人关注了爆炸吧知识真正决定人与人之间的差距的,其实是我们对事物的见识与内心的格局,见识的深浅决定人生的深浅,格局的大小决定了人生之路是宽是窄。今天给大家推荐几个有深度、有想法的公众号,希望能够给你带…

WEB前端开发规范

为什么80%的码农都做不了架构师?>>> 一、文件命名规范 images //图片资源,如果项目多人开发里面还需要用子文件夹分开fonts //字体资源,一般就是特殊字体嵌入或者图标字体styles //CSS文件- app.css //reset样式,如果项目小…

Goreplay来做流量回放

最近做项目,用到goreplay来做流量回放,什么是goreplay?GoReplay is an open-source network monitoring tool which can record your live traffic, and use it for shadowing, load testing, monitoring and detailed analysis.本质上就是通…

“Python简直万能!”拜托快醒醒!

全世界只有3.14 % 的人关注了爆炸吧知识在程序员中,一直流传着“Python除了不会生孩子,什么都会”的传说,Python真的是万能语言?很多使用Python的小伙伴,坚信 Python 可以做任何事情。到底是不是真的如传说中那般万能&…

linux--web服务器

WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 WWW 是 Internet的多媒体信息查询工具,是 Internet 上近年才发展起来的服务,也是发展最快和目前用的最广泛的服务。1.rpm -qa|grep httpd 查询服务是否安装…

WPF轮播图实现方式

WPF开发者QQ群: 340500857 | 微信群 -> 进入公众号主页 加入组织欢迎转发、分享、点赞、在看,谢谢~。 01—效果预览效果预览(更多效果请下载源码体验):02—代码如下一、MasterCarousel.cs 代码如下using System; …

学过物理的人才能看懂的笑话,你能看明白几个?

全世界只有3.14 % 的人关注了爆炸吧知识1丈夫买了几斤廉价藕,满以为可对妻子炫耀了。不料妻子破口大骂:笨蛋!为何不买别的菜,这藕一斤少说也有半斤窟窿啊!还说便宜?2第一次坐飞机的两位老妇人在飞机起飞前找…

cisco 双ISP线路接入,链路自动切换方案

最近接到的一个项目,客户总部在惠州,分部在香港,在香港分部设有ERP服务器与邮件服务器,总部出口为铁通10M光纤与网通1M DDN 专线(新增),原总部是用netscreen 防火墙与香港的pix 515作IPsec 对接…

js遮罩层以及移动端的上拉框

今天发一个之前写的移动端的项目,主要是讲一下遮罩层的应用,以及顺带提一下移动开发的一些事情。首先按钮点击弹出遮罩层这个大家很熟悉了,这里还是给大家提供一份代码,跟通用的没太大区别,主要讲一下方法:…

精简ABP的模块依赖

ABP的模块非常方便我们扩展自己的或使用ABP提供的模块功能,对于ABP自身提供的模块间的依赖关系想一探究竟,并且试着把不必要的模块拆掉,找到那部分核心模块。本次使用的是AspNetBoilerplate。源码下载从Github下载ABP源码后,进入s…

你这飞机会爆炸吗?航空公司含泪甩卖49元机票,却被超模君挖出秘密!

全世界只有3.14 % 的人关注了爆炸吧知识制作团队制作人 超模君编剧 恐恐恐插画 杨羊羊 友情出演 超模君 章小天……小天吐槽时刻……超模君之后还会采访谁呢小天有小道消息哦扫描这个二维码你将会有机会见识到超模君的科普沙雕网友们一起斗图↓↓↓↓…

linux nginx mysql php 5.5._搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

之前的Web服务器都是通过yum搭建的,想要添加新模块或者更新某些软件都很不方便(牵一发而动全身啊!)。所以,现在准备将环境改为源码编译安装,这样便于调整,性能上也会比yum方式好很多。以下是我的安装步骤,我…

ASP 缩略图 (纠错版)

网上很多缩略的代码&#xff0c;不过很多都是错误的。 这个是纠正版&#xff0c;本人已修改。 Code<%Function PicReSize(picURL)FileName1Mid(picURL,13,22)Set Jpeg Server.CreateObject("Persits.Jpeg") 获取源图片路径Path Server.MapPath(picURL) 打开源图…

Blazor Server 应用程序中进行 HTTP 请求

翻译自 Waqas Anwar 2021年5月4日的文章 《Making HTTP Requests in Blazor Server Apps》 [1]Blazor Server 应用使用标准的 ASP.NET Core 应用程序&#xff0c;在服务端执行 .NET 代码。在 Blazor Server 应用程序中&#xff0c;我们可以像在 ASP.NET Core Web 应用程序中那样…

遍历属性动态展示列

为什么80%的码农都做不了架构师&#xff1f;>>> 前端根据后台返回json对象(Map)进行动态列展示。 javascript属性遍历和访问&#xff1a; //var obj {name:"h2do",age:0,sex:"男"}; function User(){this.name "h2do";this.age 0…