我正在寻找一种使用通过邮件发送的链接登录用户的方法。 Sign-in with a magic link sample policy非常接近我想要实现的目标。
此示例的主要问题是它需要 Web 应用程序设置证书并托管 OIDC 端点。因此网络应用程序成为信任的来源。如果 B2C 不生成或验证代币,那么它还有什么意义呢?看来我在我们的应用程序上添加了额外的攻击面。我们使用 B2C 的原因之一是我们不必应对身份验证的危险。还是我看错了?
我正在考虑的另一个选项是 OAuth 2.0 On-Behalf-Of flow 。它确实使用 B2C 作为信任来源,但无意创建用户 token 。它用于通过父应用程序验证一个应用程序。尝试使用这样的 OBO 访问 token 来验证用户是不是一个坏主意?
最佳答案
您的解决方案位于您发布的链接中。您可以将证书提供给 B2C,我们可以托管该元数据。
Using B2C to generate the metadata endpoints
需要注意的是,使用 id_token_hint 时,您是 IDP 并向 Azure AD B2C 提供提示。因此,您需要有一个元数据端点。如果您使用上述链接,B2C 可以为您托管它,但您正在与我们共享私钥,并且您可能不想这样做,因为作为 IdP,您不会共享您的私钥......
关于azure-ad-b2c - 生成以Azure B2C为权限的魔术登录链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60826495/