将Keycapture用作REST API和避免Keycapture表单一起使用的安全影响



我目前正在进行一个项目,在该项目中,我们使用OpenID Connect和Oauth2以及Keycloft的默认表单。

我们有实施2FA的要求。在理想的情况下,我们会将keycapture表单全部丢弃,只使用keycapture作为无头API,并在主应用程序本身中构建登录表单。

原因是

  • 我们在Vue.js中内置了一些组件,希望重复使用(例如密码/代码输入、密码强度指示器等(
  • 我们不想在两个不同的项目中保持相同的风格
  • 我们不想维护或受自定义模板的限制
  • 不想在vanilla js中编写自定义行为

在进行研究后,我发现不建议使用keycapture作为API,因为客户端和第三方登录之间的重定向作为附加的安全层,并且是OAuth2.0模型的一部分。我们正在存储用户的医疗信息,因此安全性是一个问题。

你们有什么建议?

您说得对,不建议通过API使用OAuth服务器。重定向是OAuth流安全性的重要组成部分。这当然造成了您提到的所有缺点——必须维护具有相同功能的多个代码库。

这个问题的一个解决方案是使用具有强大安全机制的超媒体API,它可以用于执行OAuth流。不幸的是,这还不是一个标准,它是一个新兴的特性。你可以在这里阅读这样一个API是如何工作的,在这里你可以找到我们在Curity实现的安全功能的深入描述。

目前在Key斗篷中实现它肯定不是一项容易的任务,但很可能没有其他选择来解决这个问题——正如你所说,你需要2FA,如果没有2FA,一个选择就是使用资源所有者密码流。

最新更新