C# 在电子邮件中包含授权标题

C# 在电子邮件中包含授权标题,c#,rest,email,authentication,azure-ad-b2c,C#,Rest,Email,Authentication,Azure Ad B2c,我在azure上有一个RESTAPI,通过B2C身份验证进行保护。问题是,某些需要确认或拒绝约会的电子邮件收件人不是注册用户。我想给他们一个他们可以点击的链接,该链接将在数据库中设置一个particualr会议,以获得他们的响应,但他们没有使用API的身份验证 我最初的想法是创建一些api put端点,这些端点只会修改响应值,但同样,它们无法访问api 是否可以为任何用户手动生成身份验证代码?或者让一个开发人员用户进行身份验证,然后从中窃取一个代码,以某种方式包含在电子邮件头中 此处的最佳做法是

我在azure上有一个RESTAPI,通过B2C身份验证进行保护。问题是,某些需要确认或拒绝约会的电子邮件收件人不是注册用户。我想给他们一个他们可以点击的链接,该链接将在数据库中设置一个particualr会议,以获得他们的响应,但他们没有使用API的身份验证

我最初的想法是创建一些api put端点,这些端点只会修改响应值,但同样,它们无法访问api

是否可以为任何用户手动生成身份验证代码?或者让一个开发人员用户进行身份验证,然后从中窃取一个代码,以某种方式包含在电子邮件头中


此处的最佳做法是什么

您可以为他们提供将在24小时内过期的密码或一次性密码,或在电子邮件的链接中包含一次性加密令牌(最佳选项)

在Azure B2CY中我该如何做您正在通过SMTP向非注册用户发送电子邮件。在该电子邮件正文中,您提供带有加密令牌的链接。当他们点击链接时,他们会来到您的站点,您的应用程序会解密和验证令牌,并提供确认或拒绝约会或选择约会的替代日期的选项。很遗憾,这没有帮助。你是在告诉我把它们发送到一个带有我可以解密的令牌的链接,这就是我描述的问题的工作流程。我在问,当我唯一需要给URL的地方需要授权时,我将如何实现这一点。您可以通过多种方式创建令牌。令牌可以是GUID,可以保存在数据库中,有效期为一天或几个小时,或者仅限时间使用一次。您可以通过SMTP从API向客户发送电子邮件。此电子邮件正文可以有指向您站点的链接,该链接还将具有加密密钥,您将使用该密钥对客户进行身份验证。现在如何从Azure发送电子邮件,请参阅本文-但再次。。。这就是问题所在。我无法将其放入数据库,因为他们无法访问数据库。它需要身份验证。你一直在掩饰我不知道如何做的事情“jsut发送一个enxrypted密钥”lol。我不知道如何获得一个密钥,我可以把它放在一个URL中,允许使用AzureAPI对我的API进行身份验证。这解决了你的问题吗。?Hi@aescript如果你还在寻求帮助,请告诉我们