【发布时间】:2016-01-19 23:23:25
【问题描述】:
我的问题基于 ASP.net 5 和身份验证。特别是,我正在尝试将 oAuth (2.0) 作为我的登录方法集成到我的解决方案中(如果这是他们注册的方式,用户可以使用 oAuth 登录,或者直接使用我自己的应用程序登录)。使用 ASP.net 5 Web 应用程序的模板,我已经成功实现了上述目标,但这并不是我所需要的。
我的前端 UI 有一个 ASP.net 5 MVC (app1),我的 REST 服务有一个 ASP.net 5 Web api 应用程序 (app2),向 UI 提供数据。这种方法没什么新意。
我希望我的 MVC 前端 (app1) 没有实体框架引用,也没有对登录管理器之类的东西的引用(如果可能的话)。只是让它尽可能简单。我有一个登录屏幕,我想提供通过 facebook 或 google oAuth 帐户登录的选项。当您启动一个新的 ASP.net 5 Web 应用程序时,我不想使用 MS 开箱即用的漂亮代码(嘿,为什么要让生活变得简单!),我想使用我的 Web api 来完成与它一样多的工作可以(我意识到需要在 app1 中发生一些事情才能完成这项工作)。
我的目标是让我的 UI 尽可能简单,并将复杂的功能(业务逻辑、数据库访问和其他东西,如缓存)卸载到 web api 应用程序。
我在提取围绕 oAuth 的 web 应用演示部分并将其移动到 web api 以从 app1 使用时遇到困难。有没有人设法做到这一点?这是一个坏主意吗?有没有人在新的 ASP.net 5 MVC 中有这种方法的示例。
提前感谢您的建议!
【问题讨论】:
-
滚动自己的身份验证只有一个好处,那就是了解编写一个体面的身份验证框架最好留给一个团队其他开发商的。把它做好可能会令人费解。你真的想成为下一个阿什莉麦迪逊吗?
-
希望我的同事都没有离开数据库(根据你的例子)。我以前以非常安全的方式推出了自己的身份验证,如果我真的必须这样做,我并不反对编写自己的身份验证。但是,如果可能的话,我想实现任何现有的框架(这绝对比编写我们自己的框架更可取),但只是通过 web api 方式,而不是在一个 ASP.net 5 MVC 应用程序中存在的所有框架(根据模板)。我有一个分层架构,并且希望尽可能多地在 web api 中处理身份验证。
标签: c# asp.net asp.net-web-api oauth-2.0 asp.net-core-mvc