数据库中的 Active Directory B2C 身份验证和 making/storing 用户 ID

Active Directory B2C authentication and making/storing user IDs in a DB

我正在制作一个移动应用程序,并希望使用 AD B2C 内容来为我的用户处理身份验证。我需要将它们的数据存储在 SQL 数据库中,该数据库也将位于 Azure 上。我打算让我的应用程序使用 REST 与我要编写的一些功能进行通信,然后与数据库后端对话,后者将查询特定于该用户的各种内容。我的问题是我不确定如何将已通过身份验证系统身份验证的用户映射到我的数据库中的某个唯一 ID 或索引。有什么方法可以安全地识别新注册或登录的用户,以便我可以创建一种识别他们的方法吗?我说安全是因为我不想失礼并使用 auth 库中的某些值,这些值将被视为安全风险或不良做法。谢谢

在您从 Azure AD 收到的授权令牌中,您有一个对每个用户唯一的对象 ID。

B2C 令牌与常规 AD 令牌略有不同,您不会取回令牌参考中列出的所有值(例如组,您必须单独查询这些),但您会得到对象您随后可以用来查找数据库的 ID。

https://azure.microsoft.com/en-gb/documentation/articles/active-directory-token-and-claims/

您可以在此处解码您的 JWT 令牌以查看返回的内容:https://jwt.io/