Azure AD - 使用 EFCore 跟踪用户对象

Azure AD - Tracking a User object with EFCore

我们用 C# 创建了一个服务器端 Blazor 应用程序作为我们的内部公司 Intranet 站点。我们正在使用 Azure AD 进行身份验证,用户可以毫无问题地登录和使用该站点。

我想创建一个用户 table 以便用户可以在应用程序中设置自己的首选项。我打算创建一个 AppUser 对象并使用登录 AD 用户的 objectidentifier 声明作为 GUID,但我想知道我是否正在重新创建已经存在的东西。

是否可以通过内置身份模型使用 Azure AD?如果是这样,那是个好主意吗?

不必很复杂。您可以直接通过 Microsoft Graph API 为用户 add custom properties

示例:

您可以将此自定义 属性 命名为 Preferences:

POST https://graph.microsoft.com/v1.0/me/extensions
Content-type: application/json
{
    "@odata.type":"microsoft.graph.openTypeExtension",
    "extensionName":"com.contoso.Preferences",
    "Preferences": "Apple"
}

使用PATCH更新。

PATCH https://graph.microsoft.com/v1.0/me/extensions/com.contoso.Preferences
Content-type: application/json
{
    "Preferences":"Apple, Orange",
}

使用 GET https://graph.microsoft.com/v1.0/me?$select=id,displayName,mail,mobilePhone&$expand=extensions 获取首选项值。

使用DELETE https://graph.microsoft.com/v1.0/me/extensions/com.contoso.Preferences删除此自定义属性。

使用batch request to add custom attributes to users in bulk. Have a quick test in Microsoft Graph Explorer.