gpt4 book ai didi

asp.net-core-mvc - 在 ASP.NET Core 中,是否可以通过将身份验证转发到另一种方案来抢占一个方案中的新用户创建?

转载 作者:行者123 更新时间:2023-12-02 08:40:23 31 4
gpt4 key购买 nike

由于我们应用程序的性质,我们可以让用户通过大量身份验证提供程序进入,其中一些使用 OAuth 1.0(具体来说, LTI )。我们希望邀请明显的新用户通过 OpenID(Google 和 Microsoft主要是因为这涵盖了我们的大多数用户。)我们可以要求他们提供 U/P,但我们不提供 U/P - 我们一直更喜欢只支持通过第三方身份提供商登录,并且真的不想这样做改变这一点。

因此,情况是我们的自定义身份验证方案 (LTI/OAuth1.0) 接收第 3 方声明,确定这些声明对我们的系统来说是新的,然后将质询转发到我们的默认身份验证方案。完成该方案后(成功的身份验证或用户拒绝(即 NoResult)),我们理想情况下会返回到原始方案以完成使用提供的声明创建新用户或向现有用户添加额外的登录名。所有这些完成后,将返回最终的 AuthenticationTicket,并且请求将在经过身份验证后正常进行。

我的想法可能是错误的,如果是这样,我很高兴能被引导到更好的方向。但基本的业务要求是,我不想在让新用户有机会通过其他登录方法将自己标识为现有用户之前创建新用户。

目标环境是 ASP.NET Core 2.0 或 2.1。

最佳答案

当您选择从第 3 方提供商登录时,ASP.NET Core 文件 -> 新项目模板(当您选择第 3 方身份验证时)会执行类似的操作。它将第 3 方声明存储在 cookie(签名)中,并将您带到注册页面。一旦您提交表单,它就会从此 cookie 中获取声明以及注册详细信息,在数据库中创建用户,删除此临时 cookie,并发出其他所有内容都会查看的真实身份验证 cookie。为了减轻重放攻击,这个中间 cookie 只是一个 session cookie,并且会在很短的时间(我认为是 5 分钟)后过期。您绝对走在正确的道路上。

关于asp.net-core-mvc - 在 ASP.NET Core 中,是否可以通过将身份验证转发到另一种方案来抢占一个方案中的新用户创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50421604/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com