我浏览了IdentityServer4的在线示例,但我无法解决我遇到的问题。
我在ASP.NET Core 2应用程序的根目录下放置了一个Angular 4应用程序。 ASP.NET Core应用程序没有控制器,只托管Angular 4应用程序。这样做的原因是能够使用混合而非隐式授权,以便不会将令牌发送回浏览器。
现在,我可以使用HybridAndClientCredentials将客户端配置为MVC应用程序。但它会在Angular方面起作用吗?如何知道用户是否经过身份验证,如何回调API后端,在Angular App中获取访问令牌等等。我有点困惑。我试图避免使用客户端NPM与Angular上的Implicit Flow集成,因为我想在服务器上保留令牌。
感谢任何反馈。
由于
答案 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>
等他本应该知道的事情。