关于如何保护从客户端(web/移动的...)访问资源API的安全,有几种选择,近年来,在JS / TS中为SPA实现OIDC是很常见的,现在不再推荐这样做。SPA的建议是避免在浏览器中存储令牌或使用service worker,并使用BFF而不是直接连接到Identity Server。在这种方法中,BFF充当Identity Server的代理并处理所有oauth请求。用springBFF实现这个模式的最佳实践是什么,或者是否有其他更好的方法。
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代码非常轻:
有相当多的在那里,包括组件,你可以插入。搜索一个术语,如BFF OAuth,并做一些阅读。这是一个旅程,虽然-饼干是复杂的小东西。
BFF OAuth
1条答案
按热度按时间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代码非常轻:
执行情况
有相当多的在那里,包括组件,你可以插入。搜索一个术语,如
BFF OAuth
,并做一些阅读。这是一个旅程,虽然-饼干是复杂的小东西。