azure – 当用户存储在外部身份提供程序服务中时与用户的关系
我正在尝试为它创建一个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-mvc – 在IIS Express中测试SignalR应用程序
- asp.net – Visual Studio – 为什么.ASPX文件比.ASPX.CS文
- C#,.Net自动生成大写字母编码
- asp.net-mvc – ControllerActionInvoker
- asp.net – 启用Application Insights会使Web应用程序挂起
- 在ASP.NET MVC4中是否可以将C#或VB函数标记为Javascript?
- Asp.net 实现Session分布式储存(Redis,Mongodb,Mysql等) se
- 编辑并在ASP.NET Web项目中继续
- asp.net-mvc – 如何在asp.net mvc3项目中开始使用openID?
- asp.net – WebForms:MasterPages中的动态(或绝对)脚本标记
- asp.net-mvc – 如何在MVC视图中构造if语句
- 在ASP.NET 2.0中的特定时间清除缓存
- asp.net – 如何使用Inno Setup脚本创建IIS应用程
- 充分利用ASP.NET的三种缓存提高站点性能的注意方
- 在MVC中使用Json.Net序列化和反序列化Json对象
- asp.net-mvc – ASP.NET MVC中的WebApi [FromUri
- ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实
- 如何为Asp.Net中的所有子文件夹注册HttpHandler?
- ASP.NET Web应用程序本地化的最佳实践
- asp.net-mvc – .Net 4.5.1框架的maxRequestLeng