我正在使用okta-sdk-appauth-android
库在移动原生Android应用中进行身份验证。
登录有效,但我在注销和下一个登录周期时遇到问题。当我从库中使用注销方法时,在下一个登录周期webview
中显示登录屏幕,但它会立即登录用户,而无需选择手动提供登录名和密码。这是正常行为吗?进行这种登录后,我无法在注销后立即登录另一个用户。仅有时可以选择提供登录名和密码……这取决于什么?我可以在每次注销后强制提供登录名和密码吗?即使在我的访问令牌和刷新令牌到期后,它也会自动登录用户。我正在使用本机应用程序配置+ PKCE
。
我如下解决了这个问题:
喜欢这个:
webAuthClient.registerCallback(object : ResultCallback<AuthorizationStatus, AuthorizationException> {
override fun onCancel() {
network_progress.hide()
showMessage(getString(R.string.operation_cancelled))
}
override fun onError(msg: String?, exception: AuthorizationException?) {
signInError(msg, exception)
}
override fun onSuccess(result: AuthorizationStatus) {
network_progress.hide()
when (result) {
AUTHORIZED -> signInSuccess()
SIGNED_OUT -> webAuthClient.sessionClient.clear()
}
}
}, this)