c# - 提供给 Azure 函数的给定 ClaimPrincipal 的名称标识符声明在不同应用程序中是否相同?
问题描述
我有一个基于 Azure Functions 构建的应用程序。
我的用户可以使用 Facebook、Google 和 Microsoft 作为身份提供商,因为我的应用程序已在这些提供商中注册。
ClaimPrincipal
每次调用我的 Azure Functions 时都会获得一个实例。作为声明的一部分,我拥有nameidentifier
可以用来识别给定用户的声明。
问题
如果用户A
使用我的应用程序并被分配了,如果(s)他使用不同的*应用程序nameidentifier
sid:123456
,相同的用户是否会被分配相同的?nameidentifier
我所说的不同是指由另一家公司开发的应用程序,该公司在身份提供者中有自己的注册。
解决方案
我认为每个 OpenID 身份提供者的令牌中都应该有“openid”声明。它是 UUID,因此它绝对是您可以用来区分用户的唯一值。
推荐阅读
- reactjs - 在 React Native Elements 中的 ListItem 顶部对齐 3 个点图标
- javascript - 解析模棱两可的日期时,如何强制 Moment.js 优先考虑前一个月?
- android - Android Gradle:所有 gms/firebase 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)
- autodesk-forge - 在自己的存储中托管 NativeViewer 文件
- python - 尝试为简单的python冒险游戏编写单元测试
- r - 如何在二进制 R 包中包含 HTML 小插图
- performance - 以较低的分辨率渲染一些内容
- java - Java Scanner 无论如何都会被清除,如何防止这种情况发生?
- java - Java 算法约束检查在大小为 1024 位的密钥 RSA 上失败
- angular - Angular 7 - 对象的 Observables 数组的 Observable 数组