我有一个网站,它结合了ASP.NET Core MVC和基于角度的SPA,我试图使用IdentityServer4来保护它。登录流程目前如下:
问题是,当这最终完成时,SPA需要访问令牌,以便它可以调用API。我尝试使用angular-auth-oidc-client库,问题是这等待整个角度应用程序加载应用程序只是为了找出它没有访问令牌并再次重定向到login.example.com / connect / authorize端点获取令牌。
有更简单的方法吗?即在步骤5使用访问令牌将用户重定向到应用程序?或者选择一种完全不同的身份识别方法?
答案 0 :(得分:0)
首先,在第2步之后,用户应该登录然后步骤4为什么3,不是正确的。此方案应由混合流程处理,并且当步骤4发生时,客户端应用程序应具有id令牌和访问令牌。你现在应该有控制器,你可以访问“访问令牌”。您可以创建一个返回带有标头集的httpclient的基类。
来自angular应用程序的所有调用应该通过这些控制器,这将调用您的服务器api。