asp.net - 外部身份提供者服务中的用户和本地数据库表之间的关系
问题描述
我创建了一个 asp.net 应用程序使用外部身份提供程序进行身份验证(Azure Active Directory)
如何创建用户和本地数据库表之间的关系?
解决方案
您可以将 Active Directory 中的用户id
或UPN
(userPrincipalName) 存储在您自己的数据存储中。这两个字段都在您从 AD 获得的令牌中。在Access Tokens - Payload 声明中,您会看到该oid
字段和该upn
字段都可用。我的偏好是使用oid
.
id
用户的唯一标识符。继承自目录对象。钥匙。不可为空。只读。userPrincipalName
用户的用户主体名称 (UPN)。UPN 是基于 Internet 标准 RFC 822 的用户的 Internet 样式登录名。按照惯例,这应该映射到用户的电子邮件名称。一般格式为 alias@domain,其中域必须存在于租户的已验证域集合中。创建用户时需要此属性。租户的已验证域可以从组织的已验证域属性访问。支持 $filter 和 $orderby。
来源:用户资源类型 - 属性
这将使您能够追溯到 AD 中的特定用户。
推荐阅读
- .net-core - dotnet 运行未应用正确的环境名称?
- node.js - 如何使用 Firebase 事务创建用户集合和经过身份验证的用户?
- r - R中的分组二进制数据
- apache-kafka - 在 KTable 中查找特定值
- powershell - 根据文件名生成文件夹并将文件移动到生成文件夹中的子文件夹
- java - JPA 继承两个或多个超类
- javascript - Javascript 不会返回存储的 JSON 文件的内容
- haskell - 导入作为 Haskell 中的运算符的类型族
- bixby - 具有多列的输入视图
- logstash - TCP入口点的Nginx-Ingress不起作用