使用Angular SPA应用程序与IdentityServer4交谈,以获取身份验证/授权,然后与Web API进行通信

Bla*_*ell 15 asp.net-identity asp.net-core identityserver4 asp.net-core-webapi angular

我有一个asp.net核心Web API.我目前正在使用Angular 4应用程序直接调用它.

我现在想要添加身份验证和授权层.

我想通过向我的解决方案添加另一个类型的项目(严格意义上为auth)来实现这一点:ASP.NET Core MVC(带有个人用户帐户),然后将IdentityServer4添加到它.计划是使用现有的Identity表来存储用户,角色等.

一旦完成这一切,我对Angular 4 SPA应用程序或任何其他第三方通过IdentityServer应用程序进行身份验证的方式感到有些困惑.我会假设这会返回某种类型的令牌.然后继续使用该令牌调用我原来的Web API项目(即GetCustomers()).

从我做的研究看来,我需要的唯一其他东西是ASP.NET Core中的JWT承载认证.

有人可以提供一些关于如何进行整个过程的链接/信息.没有找到任何通过整个事情的好视频.另外,请确认我所说的上述模式听起来是正确的.

Kun*_*vič 12

Identity Server有所不同flows/grant types,在这种情况下你所说的隐含的那个Identity Server将返回a,jwt token所以你必须将它存储jwt token在客户端上,然后在请求你的安全webapi路由时将该令牌附加到请求头.

在此输入图像描述

官方样本这是一个非常好的起点,也可以查看他们的博客,其中包含大量有关该主题的有用信息.

在这里谈论关于这个主题的好视频是一个很好的视频来自最近的NDC conf IdentityServer4:新的和改进的ASP.NET核心如果你想更深入地学习东西,你可以通过Dominick Baier结束这个复数课程