我的问题基于ASP.net 5和身份验证。特别是,我正在尝试将oAuth (2.0)作为我的登录方法集成到我的解决方案中(用户可以使用oAuth登录,如果他们是这样注册的,或者直接使用我自己的应用程序)。使用模板的ASP.net 5网络应用程序,我已经成功地实现了上述,但这不是我所需要的。
我的前端UI有ASP.net 5 MVC (app1),REST服务有ASP.net 5 web应用程序(app2),为UI提供数据。这种方法并不新鲜。
我希望我的MVC前端(app1)没有实体框架引用,也没有引用诸如登录管理器之类的东西(如果可能的话)。尽量简单。我有一个登录屏幕,我想显示通过facebook或google oAuth帐户登录的选项。当您启动一个新的ASP.net 5 web应用程序(嘿,为什么让生活变得轻松!)时,我想使用web尽可能多地工作(我意识到需要在app1中发生一些事情才能工作),而不是使用漂亮的代码MS提供开箱即用的服务。
我的目标是使UI尽可能简单,并将复杂功能(业务逻辑、数据库访问和缓存等)卸载到web应用程序中。
我很难从oAuth中提取web应用程序演示的部分,并将其转移到web中,以便从app1中使用。以前有人这样做过吗?这主意不好吗?在新的ASP.net 5 MVC中,有人有这种方法的示例吗?
谢谢你提前给我建议!
发布于 2016-01-20 13:43:12
我们(即ASP.NET)建议您查看Identity Server。v4现在建立在.NET核心之上。您在facebook、twitter等模板中看到的OAuth组件不适合针对WebAPI使用,它们是用于交互式的、基于浏览器的登录,而不是用于javascript。
您将让您的交互式应用程序正常处理注册,然后使用Identity Server发出一个承载令牌,将其指向您的身份数据库,并在您的WebAPI中验证这一点。
我们不建议你自己玩。
发布于 2016-01-19 23:54:13
您可以使用WebAPI构建一个带有成员管理器的ASP.NET恒等应用程序。ASP.NET成员现在被称为ASP.NET标识。
通过链接,您将看到如何创建一个WebAPI应用程序,该应用程序将支持所有基本的ASP.NET成员功能(登录、注册等)。
一旦您在(自定义的) ASP.NET成员资格存储中安装了ASP.NET(一旦运行应用程序,就会自动生成DB),您将使用一个具有数据访问权限的RESTful web层进行设置。还可以自定义存储提供程序。看这里:用于ASP.NET标识的自定义存储提供程序概述。
ASP.NET网站(www.asp.net)拥有所有必要的信息,足以从头开始创建您所说的所有内容。对于与Facebook或其他方面的集成,您可以查看以下链接:使用ASP.NET Web (C#)的外部身份验证服务
https://stackoverflow.com/questions/34888835
复制相似问题