我有一个在Azure上作为服务发布的webapi。它使用了集成的AD安全性。
在我的控制器中,我可以通过User属性访问ClaimsPrincipal。可以使用ClaimsPrincipal的哪个属性来唯一标识用户,以便我可以使用该值在SQL表中搜索该用户数据或将数据存储到SQL表中并包括用户唯一标识? identity属性具有一个名称,但是我在考虑一个更唯一的标识符。
还是有不同的预期策略来做到这一点?
答案 0 :(得分:0)
AFAIK,您可以使用 upn 或 oid (对象标识符)声明。
UPN通常是您的登录名e。 G。 yourname@yourtenant.onmicrosoft.com,而oid是该用户的ObjectId。
注意:如果您删除并重新创建具有相同电子邮件的用户,则upn将会相同,而oid将会改变。