我使用Identity Server 3对MVC应用程序中的用户进行身份验证/授权。
MVC应用程序使用IAppBuilder中的UseOpenIdConnectAuthentication方法。
我的MVC应用程序只有一个创建和Angular应用程序的MVC控制器。
现在,当我进行ajax调用并得到令牌已过期的响应时,我会显示一个带有重新加载按钮的弹出窗口,该按钮将该用户重定向到HomeController的一个动作,该动作通过IS3重新授权用户重定向。
我的问题 - 是否有一种方法可以无声地执行此操作而无需使用弹出窗口并执行重定向?
也许页面中有一个iFrame会定期向该操作发出请求并保存新的令牌?
或类似的东西?
这是否可以在Angular应用程序中使用服务器端进行身份验证?
谢谢你
答案 0 :(得分:1)
如果要在服务器端续订访问令牌(授权代码流/混合流),您可以使用OIDC refresh tokens。
我相信您正在寻找客户端库(SPA客户端 - 隐式流程)来刷新访问令牌。是。这可以通过iframe实现。看一下oidc-client JS库(寻找signinSilent / automaticSilentRenew),它通过iframe更新Access令牌