我正在为一个应用程序实现我自己的 OAuth 身份验证系统(支持 refresh_token),我对如何做到这一点有一些疑问:
- 客户端识别:客户端在认证服务器中注册并获得一个client_id和一个client_secret。我如何生成它?两个值之间是否存在某种关系?
- 用户身份验证:客户端发送users_credentials(例如用户名+密码)+ client_id并获取refresh_token和(temp?)access_token。该 access_token 是我应该在进一步请求中使用的那个,或者我应该使用accesss_token` =F(refresh_token,access_token,client_secret)。在第二种情况下,F 函数由什么组成?
- 访问令牌刷新:客户端发送client_id、refresh_token并获得一个access_token(和一个可选的新 refresh_token)。access_token是否需要与第 2 点相同的转换(无论是什么)?
如果我错了,client_secret 何时以及如何使用?完整的答案和具体的例子将被“赏金”。