首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用单独的Core保护ASP.NET Core客户端?

如何使用单独的Core保护ASP.NET Core客户端?
EN

Stack Overflow用户
提问于 2019-03-25 19:24:04
回答 1查看 431关注 0票数 7

目前,我有两个相同API的客户端,一个Xamarin表单应用程序和一个ASP.NET Core项目。我们决定使用相同的API,而不是在MVC项目中使用实体,而必须重写API中已经编写的大部分内容(在过程中隔离数据库)。

然而,我在试图适应这种情况时遇到了困难。基本上,我们需要在这个MVC客户机中请求登录信息,然后使用单独的API访问服务器并验证这些信息。

关于这一点,似乎有几种不同的方法,尽管我还无法决定一个/使一个工作,因为没有太多关于这个特定场景的文档。

理想情况下,我们希望能够在这个客户端MVC项目中使用来自身份的授权和其他有用的标记,但是还没有找到在这个过程中引入我们自己的API的方法。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-25 19:41:47

身份,其核心,是一个用户管理框架。身份验证/授权的功能仅仅是切向相关的。当您开始讨论需要授权许多不同的应用程序,特别是不同类型的应用程序,例如移动应用程序和网站时,您需要开始查看集中式身份提供者。如果你想玩自己的游戏,IdentityServer是城里唯一的游戏。对于托管解决方案,可以考虑类似于Auth0或Azure之类的内容。

无论您选择什么,您都需要在不同的情况下使用不同的流。移动应用程序通常会使用OAuth流进行以用户为中心的操作,而通用的非用户特定请求则可能使用客户端凭据。对于网站,您将使用cookie身份验证和OIDC流。如果您需要通过AJAX之类的方式支持客户端身份验证请求,您的API将利用客户端凭据或者可能是混合的auth流。

总之,在这里做研究是无可替代的。你需要深入研究,找出你需要支持的东西,以及你要如何支持它。但是,不管单个流程如何,您都需要一个集中式的身份提供者来完成这一切。

也就是说,ASP.NET核心中的身份验证和授权中间件并不绑定到任何特定的提供者。根据您的最终目的,您可能会继续使用ASP.NET标识,也可能不会继续使用它(IdentityServer可以与之集成,但是类似于Auth0的东西会有它自己的用户管理)。但是,这与您继续使用Authorize属性的能力没有任何关系。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55345078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档