相关文章推荐
温柔的茴香  ·  使用cmd命令行(.NET Core ...·  2 周前    · 
逃跑的啤酒  ·  AFL ...·  1 年前    · 
逼格高的木瓜  ·  JQuery调用Asp.Net ...·  1 年前    · 

如何为独立的.Net core 5 API和Blazor App激活Azur主动目录登录?

0 人关注

我对Blazor应用程序非常陌生。但我开发了一个用于访问和操作数据库的.Net core 5 API。我也有一个客户端的Blazor应用程序,它正在消费API并作为一个前端。这两个项目是完全分开的,并在不同的线程上运行,如https://localhost:44397/,用于API和 https://localhost:7140/ Blazor应用程序。

目前,认证和授权已经用Microsoft.AspNetCore.Identity和Microsoft.AspNetCore.Authentication.JwtBearer完成。

Blazor应用程序正在发送登录模型并获得JWT用于内部角色和数据调用。

我的想法是不清楚如何将这两个实例与azure active directory login连接起来,这样我就不必为API用户保存用户注册数据。我看过很多文章,但他们都是用Blazor网络组件,服务器和SPA都在同一个项目中。 请提供任何线索。

azure
asp.net-core
blazor-webassembly
Mahfuzur Rahman
Mahfuzur Rahman
发布于 2022-02-23
1 个回答
AjayKumarGhose-MT
AjayKumarGhose-MT
发布于 2022-03-02
已采纳
0 人赞同

以下是可能有助于用Azure AD分别验证你的Blazor和.net core api的解决方法。

首先,你需要注册一个应用程序,以便用Azure AD来验证我们的应用程序,并且必须获得详细信息,以便在你的 app.settings.json ,为两个应用程序提供。

"AzureAd": {  
    "Instance": "https://login.microsoftonline.com/",  
    "Domain": "*Your domain name*", //Domain name configured in Azure  
    "TenantId": "0000-00000-00000-0000", // Tenant Id configured in Azure  
    "ClientId": "0000-00000-00000-0000", //  Client Id configured in Azure  
    "CallbackPath": "/signin-oidc" 

关于完整的设置,请参考以下内容 博客添加认证你的.net core web API 与Azure AD.

要对Blazor应用程序做同样的事情,一旦应用程序注册完成,你就必须在你的网站上添加类似的内容。appsettigs.json

"AzureAd": { "Instance": "https://login.microsoftonline.com/", "Domain": "{DOMAIN}", "TenantId": "{TENANT ID}", "ClientId": "{SERVER API APP CLIENT ID}", "CallbackPath": "/signin-oidc"