java - Android WebView - JWT 身份验证

标签 java android kotlin android-webview jwt

我有一个 Android 应用程序,我正在从基本身份验证切换到 JWT,这样一来,我就不必在本地存储用户的密码了。这对于我的所有 API 请求都很有效,但我的应用程序的一部分使用 WebView 来显示托管在我的服务器上的自定义内容。此内容还需要身份验证,目前我在 WebViewClient 类中使用用户名/密码组合来提供凭据。现在我要使用 JWT,我不再拥有这些凭据,只有 token 。有没有办法为 WebViewClient 提供替代身份验证?我的代码是 Kotlin,但同样的原理也适用于 Java。

inner class WVClient : WebViewClient() {
    override fun onReceivedHttpAuthRequest(view: WebView, handler: HttpAuthHandler, host: String, realm: String) {
        // WHAT DO I DO HERE INSTEAD?
        handler.proceed(username, password)
    }
}

最佳答案

dewey's关于我的问题的评论,我考虑将身份验证 header 添加到请求中,而不是等待网站提出身份验证请求。我只是在初始加载 URL 时将 header 添加到“附加 HTTP header ”可选参数中,而不是依赖 WebViewClient 的方法来拦截请求。

webView.loadUrl("https://...", mapOf("Authorization" to jwtToken))

关于java - Android WebView - JWT 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48588918/

相关文章:

android - 在工具栏溢出菜单中显示菜单项图标时,这种奇怪的情况是如何发生的?

java - 编织 Artifact 的 Maven 范围

java - 如何在运行时从文件夹或 JAR 加载类?

android - 为多个客户端发布 Android 私有(private)应用

android - 仅当设备开启且小部件在主屏幕上可见时才更新小部件

android - 使用 Kotlin 将运行时边距设置为任何 View

java - 将带有继承的 Java bean 转换为 Kotlin 时出现问题

java - 如何将 java.util.stream.Stream<Something> 转换为 kotlin.Sequence<Something>

带有构造函数参数的动态Java类

java - FindBugs:使用 JPA 元模型时如何避免 "Unwritten public field"警告?