asp.net-core-mvc – 在ASP.NET Core中,通过将身份验证转发到另一个方案,可以在一个方案中抢占
|
由于我们的应用程序的性质,我们可以让用户通过大量的auth提供程序进入,其中一些使用OAuth 1.0(特别是 LTI).每当我们不识别登录然后不得不在以后处理复杂的身份合并时,我们不想总是创建一个新的用户帐户,而是希望邀请显然是新用户通过OpenID识别自己(谷歌和微软主要是因为这涵盖了我们的大多数用户.)我们可以问他们他们的U / P,除非我们不做U / P – 我们总是倾向于只支持通过第三方身份提供商登录,并且真的不想改变它. 因此,情况是我们的自定义身份验证方案(LTI / OAuth1.0)收到第三方声明,确定这些声明对我们的系统是新的,然后将质询转发到我们的默认身份验证方案.一旦完成该方案(成功的auth或用户拒绝(即NoResult)),我们理想地返回到原始方案以完成使用提供的声明创建新用户或向现有用户添加额外登录.完成所有这些操作后,将返回最终的AuthenticationTicket,并且请求将在进行身份验证后正常进行. 我可能会想到这一切都是错的,如果是这样的话,我很乐意接受更好的指导.但基本的业务要求是,我不希望在为传入的个人提供通过其他登录方法将自己标识为现有用户的机会之前创建新用户. 目标环境是ASP.NET Core 2.0或2.1. 解决方法ASP.NET核心文件 – >当您选择从第三方提供商登录时,新项目模板(当您选择第三方认证时)会执行类似的操作.它将第三方声明存储在cookie中(已签名)并将您转至注册页面.提交表单后,它会从此cookie中获取声明以及注册详细信息,在数据库中创建用户,核实此临时cookie,并发出其他所有内容的真实身份验证cookie.为了减轻重放攻击,我认为这个中间cookie只是一个会话cookie,并在短时间后过期–5分钟.你肯定是在正确的轨道上.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 使用外部connectionStrings.config文件进行WebP
- ASP.NET清空缓存时遇到的问题简析
- asp.net-mvc-3 – 如何使用ASP.NET MVC 3“Razor”查看引擎
- dependency-injection – Ninject:构造函数参数
- asp.net-mvc – 将IQueryable泛型转换为JSON
- asp.net – 控制权限的最佳做法?
- 使用VSCode,DNX和kestrel运行第一个ASP.NET 5应用程序会导致
- 如何在ASP.NET 5中添加一个TypeScript绝对类型的定义?
- asp.net – 如何迭代DataTable中给定行中的所有项目
- asp.net-mvc – 模型单元测试能否真正独立,如何[ASP.NET MV
- 为什么要使用ASP.NET MVC 2进行REST服务?为什么
- 有没有相当于PrimeFaces for ASP.NET的东西?
- asp.net-mvc – 单选按钮如何与asp.net mvc绑定一
- asp.net – asp:repeater – 部分更改时的标头
- asp.net – 向GridView Row添加ID
- ASP.NET MVC全能路由
- asp.net-mvc-3 – 哪里和如何定义我的asp.net MV
- asp.net-mvc – 何时公开IEnumerable而不是IColl
- 编辑并在ASP.NET Web项目中继续
- asp.net-mvc – Visual Studio提示使用Razor语法
