简体   繁体   中英

.NET Core using Azure B2C Authentication, looking for the User Attributes such as @User.Identity.UserID after logged in

I'm using .NET Core, with Azure B2C Authentication. On the project I'm developing, I can find the @User.Identity.Name, but I cant find the C# object name/path for the other "built in" User Attributes such as @User.Identity.UserID , @User.Identity.firstTimeLogging, @User.Identity.firstName. These Attribute are enabled in Azure AD. Thank you for your time.

You can access custom claims by including them in the token sent to the app or by querying the Azure AD Graph API (not the Microsoft Graph yet).

  • For the first option reading it from claim , you can follow below thread :

https://stackoverflow.com/a/43996372/6049604

  • For the other option , using graph api to get user details , you can browse the below doc for the same:

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet?tabs=applications

Additional reference:

https://github.com/AzureADQuickStarts/B2C-GraphAPI-DotNet/blob/master/B2CGraphClient/Program.cs

Hope it helps.

Thanks to Mohit, this is the solution I found.

var claimsIdentity = (System.Security.Claims.ClaimsIdentity)User.Identity;

 List<String> termsList = new List<String>();
    foreach (var claim in claimsIdentity.Claims)
    {
        termsList.Add(claim.Value);
    }
   //The 2nd item in the claim is the objectidentifier
    Debug.WriteLine(termsList[2]); 
// there is probably a cleaner way, but it works for me. 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM