我是身份验证/授权的新手。我需要公开一些经过身份验证的api,以供第三方(服务器到服务器)使用。我阅读了如何做到这一点,并发现一个不错的选择是使用oauth2。
我想在Spring Boot中使用Java来实现。我的第一个问题是如何生成客户端ID和客户端机密。您能帮我一些建议/材料来实现吗?
谢谢
答案 0 :(得分:0)
对于生成客户端ID和机密,this guide可能会有用。
在所有加密事务中,请尝试找到可靠的/经过良好测试的库,如本文所述。
答案 1 :(得分:0)
客户ID和客户机密只是一个简单的登录名/密码对。通常会受到限制,只需确保您的秘密不太简单即可。
由于只暗示了两方,因此oauth流程非常简单(client credentials)。
一台服务器(客户端)将使用预先针对授权服务器获取的访问令牌来消耗另一台服务器(资源服务器@EnableWebSecurity
,@EnableResourceServer
)上的资源。资源服务器还可以充当授权服务器(@EnableAuthorizationServer
)。使用@EnableOAuth2Client
为客户端添加注释。
如果通信是双向的,则“服务器”都必须是资源服务器和客户端(因此具有自己的客户端ID /秘密对),授权服务器可以是独立的,也可以由一个或两个服务器托管。