Azure B2C一次性访问受保护的API

问题描述

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

这里是问题-我的应用有用户(有帐户)和客户(没有帐户)。这些客户可能会收到一封电子邮件,其中涉及与一位用户建立的新约会-该电子邮件应具有一个或多个链接/按钮(即,用于确认约会的按钮,用于拒绝的按钮以及用于请求重新安排的按钮)和单击此链接后,我想通过rest api更新数据库中的一个字段,以便用户知道客户端的响应。问题在于,由于客户没有帐户,因此我不知道如何为他们提供允许他们访问的链接,并进行更新。

我试图做大量研究-我用一次密码检查了AD外部身份-但我似乎找不到任何有关如何实际使用该信息来实现其目的的信息。

有人知道我怎么可以天蓝色地实现这一目标吗?有没有一种方法可以调用azure表单c#生成一次身份验证,我可以将其编码为URL或其他内容

任何想法都将不胜感激。

谢谢!

解决方法

您可以使用魔术链接进行匿名身份验证。用户帐户甚至不需要驻留在目录中。该链接可能很短,并且可能一次使用。我们称其为id_token_hint或魔术链接。

这里的样品 https://github.com/azure-ad-b2c/samples/tree/master/policies/invite

并在这里参考 https://docs.microsoft.com/en-us/azure/active-directory-b2c/id-token-hint