我们正在使用最新版本的Visual Studio 2017(当前为预览版4)附带的Angular模板来构建越来越多的Web应用程序。
因此,在当前的开发计算机上,我具有.Net Core 2.1.400-preview-009171和Angular CLI 6.0.8。
我从与Visual Studio 2017 Preview 4捆绑在一起的Angular模板开始,然后进入package.json文件并将所有引用升级到当前版本。
所有这些,这是我的问题。我工作中的几乎每个应用程序都具有以下要求:
到目前为止,我能够找到的所有关于我的方案的指南都涉及使用MVC进行注册,登录和密码重置表单。因此,您必须从SPA路由到MVC,然后再返回以进行身份验证。然后,您可以在SPA和API之间使用刷新令牌。有没有一种方法可以让您使用Identity / IdentityServer4进行身份验证,而不必使用MVC视图等?
第一次在这里发布...希望我不要感到羞耻。
答案 0 :(得分:0)
我认为您需要问自己一些问题。您是否需要身份服务器? OAuth Provider的原理是您将用户重定向到“授权服务器”并在那里处理内容。这里的用例是SSO,不需要为您编写的每个应用程序构建身份验证。
但是,由于您不希望使用MVC视图,因此我觉得您实际上并不需要Identity Server。 (您始终可以将整个Identity Server应用程序移植到Angular / React / Vue,但我看不到这样做的意义,身份验证主要不是公司的核心业务)
但是,在流程中您不需要MVC视图。资源所有者密码凭证流。比起您可以通过后端API将密码和用户名发送到Identity Server,您将收到访问令牌,还可以启用刷新令牌。网上有关于此的教程。
但是,如果您真的只打算在此用例中使用Identity Server。我自己动手做。
创建一个使用Identity的API(具有一些基本路径/ login / register ...),并自己生成访问令牌。 Web上的ASP.Net Core中有很多示例可以做到这一点。
希望我能对您有所帮助。