首页 > 解决方案 > 具有登录步骤和 MFA 的 identityServer4

问题描述

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

如果用户想要执行任何有意义的数据操作,如“写入/更新”,他需要通过第二个因素(通过 SMS 代码)进行身份验证。

第二因素登录最长10分钟有效,如果用户在10分钟内没有访问网站,他将自动退出第二因素,但他仍然保持在一个因素的登录状态。

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

这是我的解决方案建议:

问题

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

您对我的解决方案建议有何建议?

提前致谢

标签: identityserver4identityserver3two-factor-authenticationmulti-factor-authentication

解决方案


您在要点中写的基本上是我在 IdentityServer4 中看到的实现方式。它只是设置两个不同的范围并为同一用户发布两个单独的令牌。第一个范围'readonly',生命周期=24h,只有应用程序api中的安全操作才能接受,第二个范围'full',生命周期=10分钟,所有操作都可以接受。没什么大问题,基本的 IdentityServer4 应该是完全可行的。但是,您必须 RT(F)M 并在 IdentityServer4 配置中配置范围、客户端、令牌等。而且,您必须在应用程序的后端 api 实现中实现两个令牌访问策略,当然客户端应用程序必须小心他们获得的令牌以及他们用于哪个后端调用的令牌。


推荐阅读