使用OAuth2进行Spring生产就绪身份验证

使用OAuth2进行Spring生产就绪身份验证,spring,spring-security,oauth-2.0,authorization,Spring,Spring Security,Oauth 2.0,Authorization,我正在寻求帮助,以选择正确、最现代、最安全的身份验证方式。我使用Spring作为后端,在前端使用Angular。我要补充一点,我想使用OAuth2。我真的搜索了不少网站,还没有找到一个直接的答案。我真的很困惑 我一开始读了,但后来读完就停了下来。到目前为止,我知道我应该在PKCE中使用授权码Grant 如何在已经投入生产的应用程序中实现这一点? 到目前为止,最明智的(我认为)选择是使用keydepeat实现auth。是可靠的吗?如果您想用OAuth保护您的API,有很多产品可以使用(开源和付费解

我正在寻求帮助,以选择正确、最现代、最安全的身份验证方式。我使用Spring作为后端,在前端使用Angular。我要补充一点,我想使用OAuth2。我真的搜索了不少网站,还没有找到一个直接的答案。我真的很困惑

我一开始读了,但后来读完就停了下来。到目前为止,我知道我应该在PKCE中使用授权码Grant

如何在已经投入生产的应用程序中实现这一点?
到目前为止,最明智的(我认为)选择是使用keydepeat实现auth。是可靠的吗?

如果您想用OAuth保护您的API,有很多产品可以使用(开源和付费解决方案,如果您搜索“identity server”,您应该能够找到一些解决方案)。钥匙斗篷是一个可行的选择,但还有其他选择

在选择流时,我还将使用PKCE授予授权代码。这是目前推荐的方法,尤其是当您直接从Angular应用程序执行OAuth流时


这是您必须做出的另一个决定—您是希望前端客户端直接联系授权服务器(然后您必须在前端应用程序中处理令牌),还是希望呼叫后端并让后端与授权服务器对话(那么您可能会有一个会话cookie,并将会话与任何访问令牌相关联).

谢谢您的回复。我知道除了Key斗篷还有其他一些产品。我选择这一款是考虑到它是免费的。我认为最好的选择是使用flow登录,比如:Angular Spring Key斗篷Auth ServerAuthentication对我来说是一个新话题,我不想搞砸任何事情。据我所知:首先我应该d安装keydove,然后在Spring应用程序中使用适配器。keydove将为我处理PKCE身份验证,并将访问令牌返回到我的Spring应用程序,然后我应将令牌返回到Angular应用程序并使用它在我的应用程序中进行身份验证,或者可能我应生成仅在我的应用程序中有效的新令牌…?在此设置中,您描述的PKCE将在n Spring和keydove。Spring必须生成代码质询,keydove随后将在发出令牌时对其进行验证。至于访问令牌,则取决于您是将访问令牌从keydove发送到Angular,还是创建会话/不同的令牌。