identityServer4具有登录升级和MFA

问题描述 投票:0回答:1

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

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

第二个因素登录有效期最长为10分钟,如果用户没有与网站进行10分钟的互动,他将自动从第二个因素退出,但他仍然使用一个因素登录。

identityserver4可以支持这个开箱即用的szenario吗?或者我需要自己实施吗?

这是我的解决方案建议:

  • 对于一个因素登录,identityserver提供一个因素范围,客户需要了解。它提供的访问令牌也具有有限的范围。
  • 当客户端应用程序需要两个因子范围时,它再次调用identityserver,其中用户必须提供第二因素认证。因此,将具有第二因子范围的新令牌发送回客户端。使用此令牌客户端可以调用需要第二因素身份验证的API方法。
  • 第二因素身份验证令牌的有效期为10分钟
  • 10分钟后令牌无效,但一个因子令牌仍然有效,因为它的使用寿命很长。

问题:

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

您对我的解决方案提案的建议是什么?

提前致谢

identityserver4 identityserver3 two-factor-authentication mfa
1个回答
1
投票

您在要点中写的内容基本上就是我在IdentityServer4中看到它的实现方式。它只是为同一个用户设置两个不同的范围并发出两个单独的标记。第一个范围'readonly',生命周期= 24h,只能通过应用程序api中的安全操作接受,第二个范围'full',生命周期= 10mins可被所有操作接受。没问题,基本的IdentityServer4应该是完全可行的。但是,您必须使用RT(F)M并在IdentityServer4配置中配置范围,客户端,令牌等。而且,您必须在应用程序的后端api实现中实现双令牌访问策略,当然客户端应用程序必须要小心他们获得哪个令牌以及他们用于哪个后端调用的令牌..但是所有这或多或少是显而易见的(你似乎明白,从这些要点来看)所以我不太明白你想要什么,说“开箱即用”或你在担心什么IdentityServer4方面的支持条款..

© www.soinside.com 2019 - 2024. All rights reserved.