【发布时间】:2013-10-06 22:25:43
【问题描述】:
我正在为一个应用实现我自己的 OAuth 身份验证系统(支持 refresh_token),但我对如何实现有一些疑问:
- 客户端标识:客户端在身份验证服务器中注册并获得一个client_id和一个client_secret。我如何生成它?这两个值之间是否存在某种关系?
- 用户认证:客户端发送users_credentials(例如用户名+密码)+client_id并获得一个refresh_token和(临时?)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 何时以及如何使用? 完整的答案和具体的例子将被“赏金”。
【问题讨论】: