如何使用kong api网关实现oauth2?

时间:2019-12-25 15:27:27

标签: laravel authentication oauth-2.0 api-gateway kong

我想为在laravel上运行的一系列微服务实现api网关。网关前面有一个角度客户端,用户必须在其中使用用户名和密码登录。这个想法是用户将带有凭据的请求发送到网关,网关将其转发到身份验证服务。如果数据正确,则会发出令牌,该令牌将包含在每个其他请求中。

我想我将用kong和oauth2插件实现网关。我已经看过他们的文档https://docs.konghq.com/hub/kong-inc/oauth2/#resource-owner-password-credentials,但我不太了解流程。

在第一个请求上,角度客户端是否必须直接与身份验证服务进行通信?如果是这样,验证服务是否需要自己的网址?我认为,如果所有请求都通过网关,那会更有意义,不是吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

据我了解,您的角度应用程序可以将用户名:密码发送到kong网关,并将请求转发给您的身份验证服务。您可以验证用户是否在您的身份验证服务中合法。

1)如果合法,则向kong的oauth2插件提供的/ oauth2 / token端点发出请求。 Kong将为您的身份验证服务返回一个access_token,您可以将其返回给用户

2)如果不合法,则抛出错误。

Angular客户端是否必须在第一个请求上直接与身份验证服务进行通信?

仅当您的身份验证服务是第三方服务时,您才能这样做。