spring 如何将访问令牌获取委托给BFF?

inkz8wg9  于 2023-01-12  发布在  Spring
关注(0)|答案(1)|浏览(100)

关于如何保护从客户端(web/移动的...)访问资源API的安全,有几种选择,近年来,在JS / TS中为SPA实现OIDC是很常见的,现在不再推荐这样做。
SPA的建议是避免在浏览器中存储令牌或使用service worker,并使用BFF而不是直接连接到Identity Server。
在这种方法中,BFF充当Identity Server的代理并处理所有oauth请求。
用springBFF实现这个模式的最佳实践是什么,或者是否有其他更好的方法。

wwodge7n

wwodge7n1#

也许你知道这个文档解释了这些选项。假设你使用的是SPA并且不想要网站选项,那么从安全Angular 来看,有两个选项是相同的,你使用哪个是一个偏好问题。

网络后端

SPA首先将OAuth和API请求发送到Web后端,Web后端转发这些请求并实现OAuth客户端。Web后端使用发出Cookie的运行时。
优点是初始开发人员设置更容易,需要部署的组件更少。缺点是所有开发人员都必须运行后端,Web部署选项仅限于那些可以托管运行时的选项。

反向代理后端

SPA通过NGINX等反向代理发送OAuth和API请求。OAuth请求被转发到实用程序API。Web后端仅保留静态内容。
优点是你可以从开发者的PC上摆脱cookie发布运行时,并且更容易地做一些事情,比如将Web资源部署到内容交付网络上。缺点是最初的开发者设置更难,并且有更多的移动部件。

**行为 *

在这两种情况下,SPA都使用如下URL,用于静态内容、oauth客户端和API路由职责。

在oauth-client路径中,SPA这样调用端点。SPA OAuth代码非常轻:

  • POST /登录/启动
  • POST /登录/结束
    执行情况

有相当多的在那里,包括组件,你可以插入。搜索一个术语,如BFF OAuth,并做一些阅读。这是一个旅程,虽然-饼干是复杂的小东西。

相关问题