在Visual Studio 2022中使用AzureAd使用API设置Blazor WebAssembly应用程序



我是Blazor和Azure Ad的新手(或者实际上是生成中的身份验证(,我想从Visual Studio 2022中向导生成的应用程序中设置一个简单的基本应用程序。我能够启动并运行身份验证部分,但无法访问API。我得到401-未经授权和www认证在响应头中是:Bearer error=";invalid_token";,error_description=";签名无效";

以下是我所做的:

  1. 在Visual Studio 2022中,使用Blazor WebAssembly应用程序封装一个新项目
    • 保持Framework为.Net 6.0(长期支持(
    • 将身份验证类型更改为Microsoft身份验证平台
    • 保持"为HTTPS配置">
    • 检查"ASP.Net核心托管">
    • 关闭"渐进式Web应用程序">
  2. 我通过单击"完成"按钮确认要安装"dotnet msidentity工具">
  3. 在Azure"应用程序注册"部分,我选择顶部的"新注册">
    • 我输入"MyBlazorApp1"作为名称
    • 选择"仅限个人Microsoft帐户"作为支持的类型
    • 将重定向URI设置为SPA和https://localhost:7095/authentication/login-callback
    • 单击左下角的"注册"按钮
    • 已填充字段的屏幕截图
  4. 创建的AzureAd应用程序的屏幕截图
  5. 在BlazorApp1.Client/wwwroot/appsettings.json中:
    • 由消费者替换22222222-222-2222-222222222(因此Authority现在https://login.microsoftonline.com/consumers)
    • 将ClientId设置为客户端id(上面截屏中的1(
  6. 在BlazorApp1.Server/appsettings.json中:
    • 将域设置为"Azure Active Directory"概览页面中的"主域">
    • 将TenantId设置为租户Id(上面屏幕截图中的3(
    • 将客户端Id设置为客户端Id(在上面的屏幕截图中为1(
  7. 执行应用程序(Ctrl-F5(
  8. 使用屏幕右上角的登录,一切正常
  9. 进入左边的Fetch data,我在屏幕底部看到一个"Unhandled error has occured.Reload">
  10. 在Azure上,在之前创建的应用程序的"公开API"部分,我单击"添加范围">
    • 我接受由客户端ID创建的默认应用程序ID URI,单击"保存并继续">
    • 将作用域名称设置为"access_as_user">
    • 将用户常量显示名称设置为"以用户身份访问">
    • 将用户同意说明设置为"访问为用户说明">
    • 将状态保持为"已启用">
    • 然后单击"添加范围">
    • 用于创建作用域的字段的截屏
  11. 在BlazorApp1.Client/Program.cs中:
    • 更改了";api://api.id.uri/access_as_user"对于api://ClientID/access_as_user(上述截屏中的4个(
  12. 登录后,进入左侧的获取数据部分,我仍然会收到未处理的错误。重新加载"。在Edge的DevTools的网络部分,我可以看到:
    • WeatherForecast返回401
    • 在响应报头中的www认证是:Bearer error=";invalid_token";,error_description=";签名无效">
    • DevTools屏幕截图

我觉得我错过了一些你们可能会发现显而易见的东西,但这是我第一次使用AzureAd进行Blazor,我必须承认,我不确定该在哪里继续搜索。。。

谢谢!

经过多次搜索,我找到了解决方案(https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-aspnet-core-webapp,步骤3(。事实证明,当你使用";仅限个人Microsoft帐户";对于应用程序的类型,不应该在BlazorApp1.Server/appsettings.json中指定Tenant Id,而应该简单地指定"租户Id";自定义";。

相关内容

  • 没有找到相关文章