我一直在努力保护我的REST API。我已经阅读了很多关于OAuth 2.0
和相关库的信息,例如Oltu,KeyCloak,但仍然对如何操作感到困惑。
到目前为止,我将介绍我所理解的内容并指出我的困惑
要让客户端访问受保护资源/resource
,客户端必须已注册Authorization Server
并获得Access Token
。对?
假设我有一个以下的终点
POST /register
{
‘email’: ‘register_me@yourserver.com'
}
并获得以下内容
clientId: <some_client_id>
clientSecret: <some_client_secret>
我的困惑
clientId
和clientSecret
?客户获得clientId
和clientSecret
后,会调用/token
个端点获取accessToken
POST /token
{
clientId: <some_client_id>
clientSecret: <some_client_secret>
}
并获得以下
accessToken: <some_valid_access_token>
我的困惑
/token
或/register
个终端重定向调用到/token
?accessToken
存储在数据库中?一旦客户端有accessToken
,它就会调用受保护资源端点/resource
来获取一些数据
Bearer: <some_valid_access_token> # as part of header
GET /resource
并从服务器获取一些数据
我的困惑
accessTokens
?由于所有这些混乱,我认为会有一些图书馆为我们完成大部分样板工作,但我没有得到一个简单的例子。
如果你做过类似的事情,请指导我参考资源吗?
由于