我使用的是安卓版Ktor客户端和插件:io.ktor:ktor-client-auth:1.6.4
。当前的实现类似于这个片段。
现在我想实现一个"注销"功能,当点击按钮后,令牌被删除,问题是…如何?
如果您正在ktor版本2.0+中寻找相同的功能
val client = HttpClient(Apache) {
install(Auth) {
bearer {}
}
}
client.plugin(Auth).providers.filterIsInstance<BearerAuthProvider>()
.firstOrNull()?.clearToken()
您可以获得Auth
插件的实例,找到BearerAuthProvider
提供程序并调用clearToken
方法来删除令牌。这里有一个例子:
val client = HttpClient(Apache) {
install(Auth) {
bearer {}
}
}
val provider = client.feature(Auth)!!.providers.filterIsInstance<BearerAuthProvider>().first()
provider.clearToken()