gpt4 book ai didi

dotnet core 2 API 和守护程序应用程序中的 Azure AD 身份验证

转载 作者:行者123 更新时间:2023-12-01 23:37:53 24 4
gpt4 key购买 nike

我正在努力确定使用 Azure Active Directory 对我的 dotnet core Web API 进行身份验证的最佳途径。

情况如下:

  • 在 Azure Active Directory 中创建的应用程序,由 Web API 对用户进行身份验证。它具有多个与之关联的应用程序角色。
  • 需要向 Web API 进行身份验证的守护程序应用程序。

解决身份验证问题的最佳解决方案是什么?很难找到关于如何实际解决此问题的明确文档。

感谢您的建议和帮助!

最佳答案

您的守护程序应用程序将需要使用应用程序权限(成员类型 = 应用程序的应用程序角色)来调用 API。您可以在此处查看如何定义它们:https://joonasw.net/view/defining-permissions-and-roles-in-aad .

例如, list 中的内容如下:

{
"appRoles": [
{
"allowedMemberTypes": [
"Application"
],
"displayName": "Read all todo items",
"id": "f8d39977-e31e-460b-b92c-9bef51d14f98",
"isEnabled": true,
"description": "Allow the application to read all todo items as itself.",
"value": "Todo.Read.All"
}
]
}

然后将应用程序权限分配给您的守护程序应用程序。

之后,只需使用守护程序应用程序中的客户端凭据进行身份验证即可。例如,对于 ADAL.NET,您可以通过 ClientCredential + API 的资源 URI 获取 token 。您可以从 API 的应用注册中找到 URI(“属性”边栏选项卡、“应用 ID URI”)。

然后,您可以将生成的访问 token 附加到 HTTP 请求,API 可以从 appid 声明中查找调用应用程序是谁,并从 roles 声明中查找哪个应用程序他们拥有的权限。

关于dotnet core 2 API 和守护程序应用程序中的 Azure AD 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50196382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com