我正在编写一个应用程序(web和移动),我想在其中使用WSO2进行用户身份验证、授权和单点登录。
我的移动应用将根据WSO2-is对用户进行身份验证。
该应用程序使用的所有API都是用python编写的google云函数。
我想给我的GCF带来一个安全层。
根据我的理解,我可以使用WSO2-am作为应用程序和GCF之间的桥梁来提供安全性,但我希望利用GCF架构的高可伸缩性,避免WSO2-am成为瓶颈。
有没有可能使用WSO2-am并让GCF根据它检查权限访问,从而允许应用程序直接调用API,而不是使用WSO2-am作为桥梁?
如果是,你可以提供一些文档/博客文章/任何可以帮助你的东西吗?
发布于 2019-09-03 02:56:32
在WSO2 APIM中,当请求通过网关(到后端)时,网关会执行所有的身份验证和授权工作。
所以,在这种情况下,
(1) OAuth2令牌,网关与密钥管理器对话以验证令牌、订阅(应用程序接口)和令牌范围。
(2)独立的JWT令牌,网关可以自己完成所有这些验证。
因此,在您的情况下,由于您不想通过网关发送请求,因此您必须在云函数本身内执行网关所做的事情。在这种情况下,JWT令牌将是最佳选择,因为无需连接到密钥管理器即可对其进行验证。
除此之外,网关还保留了一个令牌缓存,这样它就不必一次又一次地验证相同的令牌。您也可以在您的云函数中拥有类似的缓存(如果可能)。然而,在您的案例中,由于云函数的生命周期较短,您必须将缓存外部化。
下面是网关code1,它执行令牌、作用域和订阅验证。您可以将其作为编写您的代码的指南。
https://stackoverflow.com/questions/57759157
复制相似问题