带有登录升级和 MFA 的 identityServer4

identityServer4 with Login Step-up and MFA

在我的一个项目中,我需要实施登录升级。这意味着用户可以使用简单的用户名和密码登录应用程序,以获得对网站及其背后的 API 的一些只读访问权限。

如果用户想要执行任何敏感数据操作,如 "write/update",他需要通过第二因素(通过短信代码)进行身份验证。

二重登录的有效期最长为10分钟,如果用户10分钟未访问网站,将自动退出二重登录,但仍保持一重登录状态。

identityserver4 可以开箱即用地支持这个场景吗?还是我需要自己实施?

这是我的解决方案:

问题:

- IdentityServer4 能否提供开箱即用的登录升级?如果不是,有哪些替代解决方案?

你对我的解决方案有什么建议?

提前致谢

你在要点中写的基本上是我看到它在 IdentityServer4 中的实现方式。它只是设置两个不同的范围并为同一用户颁发两个单独的令牌。第一个范围 'readonly',生命周期 = 24 小时,只有应用程序中的安全操作才能接受 api,第二个范围 'full',生命周期 = 10 分钟,所有操作都可以接受。没什么大问题,使用基本的 IdentityServer4 应该是完全可行的。但是,您将必须 RT(F)M 并在 IdentityServer4 配置中配置范围、客户端、令牌等。而且,您必须在应用程序的后端 api 实施中实施双令牌访问策略,当然,客户端应用程序必须注意它们获取的令牌以及用于哪个后端调用的令牌.. 但所有这些都或多或少是显而易见的(你似乎明白这一点,从要点来看)所以我不太明白你想说 "out of the box" 或者你是什么担心 IdentityServer4 方面的支持..