【发布时间】:2018-07-30 22:52:15
【问题描述】:
我的应用程序从服务器获得了一些响应,并且在该响应中我还收到了访问令牌,我必须在我的进一步操作中使用它,通常我设法从我的响应中获取此令牌,现在我可以在 textView 中看到它.但无论如何,我必须像刷新以下令牌一样创建 smth,因为我认为在当前令牌过期后,我的用户不会很乐意多次登录我的应用程序。所以现在我有一个非常严重的问题,比如如何插入以下令牌,我可以从我的响应中得到我的请求:
@Headers({"Content-type: application/json",
"Authorization: Bearer my token"})
@GET("/v1/message/list")
Call<ListOfMess> getInMess(@Query("type") int type, @Query("offset") int offset);
现在我必须每半小时插入最后一个令牌,因为我无法获取任何数据。我尝试将以下标记插入到我的改造初始化中:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://server/")
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
但它不能正常工作。因此,经过一段时间后,我知道我可以通过 sharedpreferences 存储以下令牌,而不是将其插入到任何地方,但我不知道如何创建它。我希望你能帮助mw解决以下问题。而且,如果您知道一段时间后通过某些请求刷新我的令牌的方式,我将很高兴看到您的回答)) 对不起,我的语言不好。
【问题讨论】:
-
您的应用程序通常无法查看访问令牌内部以了解其过期时间。相反,它会在将令牌呈现给服务器时发现令牌已过期/无效。那时,您必须从应用程序重新进行身份验证。你剩下的问题很难理解。过去,我将访问令牌作为纯字符串存储在共享首选项中。
-
是的,我同意你的看法,我认为我会在小于 0.5 小时的时间内为获得新令牌创建一些响应,但我不明白我是怎么做到的可以保存当前令牌,然后如何将其插入我的界面?
-
我不明白你想在这里做什么。
-
我正在尝试将最新的令牌插入到我界面的标题中,并在需要时刷新它。现在我必须手动插入我的最后一个令牌,但我想从我的服务器的成功答案中获取以下令牌,然后将其插入我的界面,然后在一小段时间后刷新它
标签: android sharedpreferences access-token