在我的一个项目中,我需要实现Login Step-up。这意味着用户可以使用简单的用户名和密码登录应用程序,以获得网站及其背后的API的一些只读访问权限。
如果用户想要执行任何敏感数据操作,如“写入/更新”,他需要通过第二个因素(通过SMS代码)进行身份验证。
第二个因素登录有效期最长为10分钟,如果用户没有与网站进行10分钟的互动,他将自动从第二个因素退出,但他仍然使用一个因素登录。
identityserver4可以支持这个开箱即用的szenario吗?或者我需要自己实施吗?
这是我的解决方案建议:
问题:
- IdentityServer4可以提供开箱即用的登录升级吗?如果不是,有哪些替代解决方案?
您对我的解决方案提案的建议是什么?
提前致谢
您在要点中写的内容基本上就是我在IdentityServer4中看到它的实现方式。它只是为同一个用户设置两个不同的范围并发出两个单独的标记。第一个范围'readonly',生命周期= 24h,只能通过应用程序api中的安全操作接受,第二个范围'full',生命周期= 10mins可被所有操作接受。没问题,基本的IdentityServer4应该是完全可行的。但是,您必须使用RT(F)M并在IdentityServer4配置中配置范围,客户端,令牌等。而且,您必须在应用程序的后端api实现中实现双令牌访问策略,当然客户端应用程序必须要小心他们获得哪个令牌以及他们用于哪个后端调用的令牌..但是所有这或多或少是显而易见的(你似乎明白,从这些要点来看)所以我不太明白你想要什么,说“开箱即用”或你在担心什么IdentityServer4方面的支持条款..