在我的一个项目中,我需要实施“登录升级”。这意味着用户可以使用简单的用户名和密码登录应用程序,以获得对网站及其背后的API的一些只读访问权限。
如果用户要执行任何有意义的数据操作(例如“写入/更新”),则需要通过第二个因素(通过SMS代码)进行身份验证。
第二因素登录有效期最长为10分钟,如果用户未与网站进行10分钟的交互,他将自动从第二因素中注销,但仍然保持一个因素登录。
identityserver4可以立即支持此szenario吗?还是我需要自己实施?
这是我的解决方案建议:
问题 :
-IdentityServer4可以开箱即用提供登录升级吗?如果没有,有什么替代解决方案?
您对我的解决方案建议有何建议?
预先感谢
答案 0 :(得分:1)
您在要点中写的基本上是我如何在IdentityServer4中实现它。它只是设置两个不同的作用域,并为同一用户发行两个单独的令牌。第一作用域为“只读”,生存期为24h,仅由应用程序api中的安全操作可接受;第二作用域为“ full”,其生存期为10min,所有操作均可接受。没什么大问题,它可以与基本IdentityServer4完全兼容。但是,您必须RT(F)M并在IdentityServer4配置中配置作用域,客户端,令牌等。而且,您还必须在应用程序的后端api实现中实现双令牌访问策略,并且客户端应用程序当然必须小心它们获取的令牌以及用于哪个后端调用的令牌。其中或多或少是显而易见的(从这些要点来看,您似乎理解了这一点),所以我不太清楚说“开箱即用”或您担心的是什么IdentityServer4方面的支持条款。