代码之家  ›  专栏  ›  技术社区  ›  walter_dl

哪个OAuth策略用于认证自有SPA,哪个用于第三方?

  •  0
  • walter_dl  · 技术社区  · 7 年前

    案件 :System-K有许多微服务。其中之一是OAuth微服务,它为第三方提供访问令牌,这些第三方将使用由System-K的其他微服务管理的一些数据。 System-K还有一个前端,即SPA Web应用程序。这个SPA还使用与第三方相同的数据,但不同的是,这个SPA能够查询特权数据,因为它是自己的Sysmte-K前端。

    问题 :SPA使用哪个OAuth策略?或者我应该使用另一种方法来处理SPA发出的身份验证请求,并将OAuth服务器留给第三方?

    罩下 : Web应用程序是用Angular 7+构建的,它将请求发送到作为Sysmte-K一部分的微服务的apiGateway,然后apiGateway将这些请求路由到目标微服务。 第三方OAuth请求也发送到路由到OAuth微服务的APIgateway。所有的微服务都是内置的节点,并用typescript编写。

    更新1 我不希望在SPA中进行身份验证的用户看到一个屏幕,上面显示“您允许System-K访问您的Sysmte-K配置文件吗?”因为SPA本身就是System-K客户机。

    1 回复  |  直到 7 年前
        1
  •  2
  •   John Hanley    7 年前

    问题:在SPA中使用哪个OAuth策略?或者我应该使用 处理SPA发出的身份验证请求的另一种方法 只为第三方离开OAuth服务器?

    除非您的SPA有后端服务器(这意味着您的SPA不是真正的SPA),否则您只能使用 implicit 奥特隐式OAuth在浏览器中的javascript中运行。

    对于隐式OAuth,我强烈建议使用第三方身份提供程序(Google、Auth0、Okta)。在您自己的代码中获得正确的安全性是非常困难的。

    如果您可以添加一个后端服务来提供三条腿的OAuth,那么您的安全性将得到改善,您将有更多的选择。我再次推荐第三方身份提供商。