如何处理OAuth刷新令牌?

时间:2014-02-03 19:35:05

标签: security rest symfony oauth-2.0 fosoauthserverbundle

当我在OAuth服务器上授权时,它会返回访问/刷新令牌:

access_token: "ZjJlMGM2MDcxNDg5MDQ1NzA4ZjkyNzRiOTIwM2E5MWI4N2M0MWU0ZD..."
expires_in: 3600
refresh_token: "NWZjMzQ3YjNjMmY5YTEzYzMxMDYzNGVhNzRiNjAxZTdmZTdjNzE3z..."
scope: null
token_type: "bearer"

如何在我的客户端javascript应用程序中使用它们?

  1. 是否可以在Cookie中保存访问令牌和刷新令牌?     (这样安全吗? - 但无论如何我还没有看到任何其他地方     存储它们......)
  2. 我可以请求这样的受保护资源:/ api / user?access_token = TOKEN。当我访问它们时,我真的得到了受保护的数据。但是当此访问令牌过期时会发生什么?它会自动刷新,还是需要手动处理?
  3. 为什么我需要刷新令牌以及何时将其发送到服务器?

1 个答案:

答案 0 :(得分:1)

三条腿(用户---客户端---- Oauthserver)

1)在3脚认证访问中,令牌存储在客户端,永远不会传输给用户。

两条腿(用户---- Oauthserver)

在2腿认证中,令牌存储在用户侧。可能在饼干里。

2)当令牌过期时,用户明确必须使用刷新令牌来获取新的身份验证令牌。

3)每个Auth令牌都有一个到期时间,而不是用用户名/密码重新验证自己,用户可以提供刷新令牌以获得新的有效Auth令牌。