OKTA SSO注销问题

问题描述 投票:0回答:1

我正在使用okta-sdk-appauth-android库在移动原生Android应用中进行身份验证。

登录有效,但我在注销和下一个登录周期时遇到问题。当我从库中使用注销方法时,在下一个登录周期webview中显示登录屏幕,但它会立即登录用户,而无需选择手动提供登录名和密码。这是正常行为吗?进行这种登录后,我无法在注销后立即登录另一个用户。仅有时可以选择提供登录名和密码……这取决于什么?我可以在每次注销后强制提供登录名和密码吗?即使在我的访问令牌和刷新令牌到期后,它也会自动登录用户。我正在使用本机应用程序配置+ PKCE

android authentication okta pkce
1个回答
0
投票

我如下解决了这个问题:

  • 按下注销按钮后立即调用webAuthClient.signOutOfOkta(Activity)。
  • 结果将在ResultCallback中返回,您将看到它是否已登录。
  • 调用webAuthClient.sessionClient.clear()

喜欢这个:

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)
© www.soinside.com 2019 - 2024. All rights reserved.