azure – 当用户存储在外部身份提供程序服务中时与用户的关系
发布时间:2020-12-15 21:05:54 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试为它创建一个API和一个网站客户端.最近我一直在阅读很多关于OAuth2作为安全机制的公司以及提供身份验证作为服务的公司,例如 auth0.com甚至Azure活动目录,我可以看到使用它们的优势 因为我以前总是让用户在同一个数据库和表中,以一对多的形式与User
我正在尝试为它创建一个API和一个网站客户端.最近我一直在阅读很多关于OAuth2作为安全机制的公司以及提供身份验证作为服务的公司,例如
auth0.com甚至Azure活动目录,我可以看到使用它们的优势
因为我以前总是让用户在同一个数据库和表中,以一对多的形式与Users表有关系,如下所示 public class User { public string subjectId { get; set; } public virtual List<Invoice> Invoices { get; set; } /* More properties in here */ } public class Invoice { public int InvoiceId { get; set; } public string PaymentNumber { get; set; } public DateTime Date { get; set; } public double Amount { get; set; } public string Description { get; set; } public virtual User User { get; set; } } 我的问题是. 如果用户存储在Auth0.com等外部认证服务中, > Invoice类如何处理与用户的关系? 在后一种情况下,类Invoice会不会像下面那样? public class Invoice { public int InvoiceId { get; set; } public string PaymentNumber { get; set; } public DateTime Date { get; set; } public double Amount { get; set; } public string Description { get; set; } public string SubjectId{get;set;} } 此外,如果用户存储在其他地方,您如何进行查询,如: Select * from Users u inner join Invoices i where Users.Name='John Doe' and i.Date>Somedate. 解决方法
由于您已将Auth0称为身份提供者,因此有多种方法可以在数据库中实现用户表.
1.使用Auth0验证/注册用户将使用配置文件对象发送响应,该响应将包含您需要的所有基本配置文件信息.将此配置文件对象发布回您自己的API以将其保存到数据库.应使用您收到的访问令牌以及Auth0中的配置文件对象来保护此API端点. 2.您可以在Auth0中创建一个自定义规则,将用户信息发布回您的API.此规则在Auth0服务器上执行,因此这是一个安全的调用. 3.身份提供者(在我们的例子中为Auth0)需要公开API端点,该端点为我们提供用户配置文件数据(例如: https://yourdoamin.auth0.com/userinfo).您可以从API调用此端点以接收用户信息. 当用户注册到您的应用程序时,请使用这些技术之一在数据库中建立用户配置文件信息表.将身份提供程序视为负责验证资源所有者(应用程序的用户)并提供访问令牌以安全访问API /应用程序的服务始终是一个好主意.如果您拥有数据库中用户的配置文件,则在用户通过身份验证后,您不必依赖身份提供程序. 如果您有任何其他问题,请与我们联系. 谢谢,索玛. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用ASP.NET和global.asax进行速率限制
- asp.net – 网络负载平衡方案的会话状态
- ASP.NET MVC下自定义错误页和展示错误页的方式
- 如何在ASP.Net MVC标记中克服我对<%%>的恐惧?
- asp.net-mvc-4 – Asp.Net Web Api – ModelBinders
- asp.net – 如何使用Web服务返回接口或“复杂”值?
- asp.net-mvc-3 – .NET MVC 3以编程方式设置布局
- ASP.NET捆绑和缩小 – CSS3属性失败
- asp.net – HTML敏捷包删除break标签关闭
- asp.net-mvc-3 – ASP.NET MVC3 – DateTime格式
推荐文章
站长推荐
热点阅读