我有一个asp.net核心Web API。我目前正在使用Angular 4应用程序直接调用它。
我现在想添加身份验证和授权层。
我想通过向我的解决方案添加另一个类型的项目(严格用于auth):ASP.NET Core MVC(具有个人用户帐户),然后向其添加IdentityServer4来实现此目的。计划是使用现有的Identity表来存储用户,角色等。
一旦完成这一切,我对Angular 4 SPA应用程序或任何其他第三方通过IdentityServer应用程序进行身份验证的方式感到有些困惑。我会假设这会返回某种类型的令牌。然后继续使用该令牌调用我原来的Web API项目(即GetCustomers())。
从我做过的研究看来,我唯一需要的是ASP.NET Core中的JWT承载认证。
有人可以提供一些关于如何进行整个过程的链接/信息。 Haven没有找到任何能够完成整个过程的好视频。另外,请确认我所说的上述模式听起来是正确的。
答案 0 :(得分:11)
Identity Server
有不同的flows/grant types
,在这种情况下,您所谈论的implicit Identity Server
将返回jwt token
,因此您必须存储该jwt token
在客户端上webapi
,然后在请求您的安全commit 678bd5ba6fc5474c4c61406768bf6cba5937c5d1
Author: thegreendroid
Date: Mon Mar 27 09:36:24 2017 +1300
Commit message
child_dir1_from_root/file1 | 184 +--
child_dir2_from_root/file2 | 2 +-
路由时将该令牌附加到请求标头。
官方samples这是非常好的起点,也可以查看他们的blog,其中包含大量有关该主题的有用信息。
关于这个主题的好视频在最近的NDC conf IdentityServer4: New & Improved for ASP.NET Core中是一个很好的视频,如果你想更深入地学习东西,你可以通过Dominick Baier结账pluralsignt course