在Javascript客户端中处理401的最佳实践是什么?

时间:2012-09-07 06:56:00

标签: google-drive-api

目前我的逻辑说: -

  1. 创建一个gapi.client.HttpRequest对象myRequestObject = gapi.client.request(args)
  2. 使用myRequestObject.execute(myCallback)
  3. 执行该请求
  4. 如果我抓到401,我会刷新访问令牌。我这样做是通过调用我自己的服务器servlet,因为我不喜欢我的JS客户端的想法 持有刷新令牌。
  5. 所以在这个阶段我的JS客户端有一个新的有效access_token,但myRequestObject仍然保持陈旧的access_token。
  6. _我不想一直冒泡到我的业务逻辑并创建一个新的HttRequest对象。代替

    我只想用新令牌重新提交相同的对象。

    我发现我可以用

    直接戳头
      

    myRequestObject.b.headers ['Authorization'] ='Bearer'+ newAccessToken;

    但有更正式的方法吗?

1 个答案:

答案 0 :(得分:0)

检查Drive SDK文档中更新的OAuth 2.0页面,了解完整流程的JavaScript实现:https://developers.google.com/drive/credentials

请记住,JavaScript客户端库使用OAuth 2.0客户端流程,该流程仅提供访问令牌,因此您不必担心客户端持有刷新令牌。