我正在使用oidc-client-js库针对来自角度应用程序的IdentityServer4实现处理OIDC重定向SSO样式身份验证。应用中的IdToken / Cookie可以使用1天以上。访问令牌的生存期更短,并且可以进行无提示刷新。有时候,我们可能需要关闭应用并使其运行,而无需用户再次登录,这是我们想要的,但是由于敏感数据,我们可能需要在应用中的某些特定区域验证用户的身份。< / p>
我看到该库尚不支持仅通过让应用再次请求密码并执行ResourceOwner授予样式密码验证来执行此操作。我不介意使用现有的popUpRedirect和提示请求设置来强制登录。我遇到的问题是,上次用户登录的时间戳发生在任何地方(至少没有记录)。例如如果用户在最近5分钟内登录,则可以进行敏感数据访问。
在每个人都鸣叫之前,我并没有在寻找访问令牌的时间戳或有效期。我们的访问令牌将在无用户干预的情况下以静默方式刷新,因此无济于事。我在寻找IdToken的时间戳吗?图书馆公开吗?还是我要把这个过程都弄错了?预先感谢。
答案 0 :(得分:0)
auth_time
声明是您上次进行交互式身份验证时需要验证的内容。它同时存在于id_token和access_token中,因此对于客户端而言,应该足够容易地检查它是否足够新(并在未触发时触发提示=登录请求),并且您可以断言比敏感后端API中的它足够新