使用 angular 代码获取令牌的 Identity Server 3 隐式流程

Identity Server 3 Implicit Flow with angular code to get token

我们目前已经构建 asp.net mvc 5 应用程序,使用 Identity Server 3 处理对 Web Api 的身份验证和授权,使用隐式流。在我们开始向 Api 添加一些 angular 调用之前,一切都运行良好。 MVC 启动 class 处理令牌的检索,让它与 angular 一起工作,现在我们将令牌写入 javascript 变量,angular 获取并将它的 header 发送给所有 Api 个调用。

虽然有时当用户单击按钮调用 angular 时令牌已经过期。有没有办法在每次调用之前在 angular 中获取另一个令牌,可能检查是否过期然后获取一个新令牌?如果可能的话,可能不需要刷新页面,因为我们不想丢失用户在获取新令牌时尝试提交的数据。这是否可能导致应用程序对 angular 和 mvc 端使用不同的令牌?因为我们还没有摆脱 mvc 方面。

将令牌发送到Access token validation endpoint

假设你没有禁用这个端点,你可以调用它

POST /connect/accesstokenvalidation

token=<token>