C# Azure B2C对安全API的一次性访问

C# Azure B2C对安全API的一次性访问,c#,azure,email,azure-ad-b2c,one-time-password,C#,Azure,Email,Azure Ad B2c,One Time Password,我在azure上有一个web应用程序(RESTAPI),我有一个B2C设置来保护它,要求您登录才能访问API。这很好,因为我希望API仅限于成员。基本上,整个web应用程序都需要身份验证,并会提示您登录 这就是问题所在-我的应用程序有用户(有帐户)和客户端(没有帐户)。这些客户端可能会收到一封关于与其中一个用户建立新约会的电子邮件-此电子邮件应具有一个或多个链接/按钮(即,一个用于确认约会的按钮,一个用于拒绝,一个用于请求重新签定),单击此链接后,我希望通过rest api更新数据库中的字段,因

我在azure上有一个web应用程序(RESTAPI),我有一个B2C设置来保护它,要求您登录才能访问API。这很好,因为我希望API仅限于成员。基本上,整个web应用程序都需要身份验证,并会提示您登录

这就是问题所在-我的应用程序有用户(有帐户)和客户端(没有帐户)。这些客户端可能会收到一封关于与其中一个用户建立新约会的电子邮件-此电子邮件应具有一个或多个链接/按钮(即,一个用于确认约会的按钮,一个用于拒绝,一个用于请求重新签定),单击此链接后,我希望通过rest api更新数据库中的字段,因此,用户知道客户端的响应。问题是,由于客户没有帐户,我不知道如何给他们一个链接,让他们可以访问,并让更新发生

我试着做了一系列的研究——我用一次性密码调查了广告的外部身份——但我似乎找不到任何关于我如何让它真正发挥作用的信息

有人知道我如何在azure中实现这一点吗?有没有一种方法可以调用azure form c生成一次性身份验证,我可以将其编码到URL或其他内容中

任何想法都将不胜感激


谢谢

您可以使用魔法链接进行匿名身份验证。用户帐户甚至不需要驻留在目录中。链接可能是短期的,并且可能是一次性的。我们称之为id\u-token\u-hint或魔术链接

样品在这里

和这里的参考

假设我理解,API的所有端点都必须经过身份验证吗?通常有一个“注册/登录”资源是“公共的”(在web应用程序中)。这里的假设是客户端的响应(确认、拒绝、提议)不需要特权访问。我真的不知道如何实现使用azure b2c来保护api的安全-它只是保护整个web应用程序的安全。