如何验证ASPNETCORE内置的Angular 4应用程序

时间:2018-02-14 22:18:49

标签: identityserver4

我浏览了IdentityServer4的在线示例,但我无法解决我遇到的问题。

我在ASP.NET Core 2应用程序的根目录下放置了一个Angular 4应用程序。 ASP.NET Core应用程序没有控制器,只托管Angular 4应用程序。这样做的原因是能够使用混合而非隐式授权,以便不会将令牌发送回浏览器。

现在,我可以使用HybridAndClientCredentials将客户端配置为MVC应用程序。但它会在Angular方面起作用吗?如何知道用户是否经过身份验证,如何回调API后端,在Angular App中获取访问令牌等等。我有点困惑。我试图避免使用客户端NPM与Angular上的Implicit Flow集成,因为我想在服务器上保留令牌。

感谢任何反馈。

由于

1 个答案:

答案 0 :(得分:2)

我担心你处于不可能的境地。根据{{​​3}},必须与SPA' a一起使用的流程是隐含的。还有OAuth specs

如果转换为MVC,则会失去SPA的功能。

实际上答案就在你的问题中 - where to get the Access Token in the Angular App。一旦你在角度应用程序中获得它,它已经暴露给用户。但是如果没有在角度应用程序中,您就无法进行承载身份验证调用。

正如我所说 - 不可能的情况。如果我们想在这里搜索一些积极的东西,那么访问令牌是一个短生命令牌(或者至少推荐它是这样),并且在几分钟后它已经过期。

PS:在https日,通过有线电视传输敏感信息&#34;更多(我不是说防弹)安全,给用户提供访问令牌就像是在告诉他Hey you have this permissions, your name is <name>等他本应该知道的事情。