如何在访问令牌过期时自动获取刷新令牌并在 android 中使用 HttpURLConnection 获取 401?
How to go for refresh token automatically when access token expired and get 401 using HttpURLConnection in android?
我有如下 post 请求,我们不能像 Retrofit 2.0 拦截器那样在访问令牌过期时自动获取刷新令牌并继续调用服务吗?没有中断?
URL url = new URL(myurl + "?access_token=" + access_token);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(100000000 /* milliseconds */);
conn.setConnectTimeout(150000000 /* milliseconds */);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setRequestProperty("charset", "utf-8");
conn.setDoInput(true);
conn.connect();
有什么方法可以在我们收到 401 响应代码时自动执行此操作?
据我所知,在任何框架中都没有为此提供任何方式,因为这纯粹是基于需求的。您将需要 post 如下所述的 SERIAL 调用:
- Post 使用访问令牌的主调用; Iff 比 Stop Else 成功转到 Step2
- Post 使用刷新令牌调用新访问令牌,如果成功更新访问令牌,然后再次 Post 主调用,如步骤 1 使用更新的访问令牌。
- 如果您的刷新令牌可能会过期,则采用相同的方式,而不是以相同的串行方式处理它。
希望对您有所帮助。
我有如下 post 请求,我们不能像 Retrofit 2.0 拦截器那样在访问令牌过期时自动获取刷新令牌并继续调用服务吗?没有中断?
URL url = new URL(myurl + "?access_token=" + access_token);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(100000000 /* milliseconds */);
conn.setConnectTimeout(150000000 /* milliseconds */);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setRequestProperty("charset", "utf-8");
conn.setDoInput(true);
conn.connect();
有什么方法可以在我们收到 401 响应代码时自动执行此操作?
据我所知,在任何框架中都没有为此提供任何方式,因为这纯粹是基于需求的。您将需要 post 如下所述的 SERIAL 调用:
- Post 使用访问令牌的主调用; Iff 比 Stop Else 成功转到 Step2
- Post 使用刷新令牌调用新访问令牌,如果成功更新访问令牌,然后再次 Post 主调用,如步骤 1 使用更新的访问令牌。
- 如果您的刷新令牌可能会过期,则采用相同的方式,而不是以相同的串行方式处理它。
希望对您有所帮助。