跳转至

强制社交/企业登录提供方显示登录界面

OIDC 规范 中定义的 prompt="login" 参数,可以促使社交/企业登录提供方始终显示其登录界面。因此,即使用户此前在该提供方上的身份验证会话仍然有效,您也可以使用 prompt="login" 参数让用户切换账号。

在本文中,您将学习如何在 Authany SDK 中使用 prompt: "login",强制 OIDC 提供方始终向用户展示登录界面。您还可以使用 prompt: "login",让用户在同一设备(或浏览器)上切换社交/企业登录提供方的账号。

如何强制社交/企业登录提供方显示登录页面

Authany SDK 提供了一个可在应用中设置的 prompt 参数。prompt 参数的值会被传递给社交/企业登录提供方。因此,如果您在 SDK 中设置 prompt: "login",您的社交/企业登录提供方将收到 prompt="login" 参数。以下代码示例展示了如何在 Authany SDK 中使用 prompt 参数。

authgear
  .startAuthentication({
    redirectURI: "<AUTHGEAR_REDIRECT_URI>",
    prompt: PromptOption.Login,
  })
authgear
  .authenticate({
    redirectURI: 'com.reactnativeauth://host/path',
    prompt: PromptOption.Login,
  })
AuthenticateOptions options = new AuthenticateOptions("<AUTHGEAR_REDIRECT_URI>");
List<PromptOption> promptOptions = Arrays.asList(PromptOption.LOGIN);
options.setPrompt(promptOptions);
mAuthgear.authenticate(options, new OnAuthenticateListener() {
    @Override
    public void onAuthenticated(@Nullable UserInfo userInfo) {

    }

    @Override
    public void onAuthenticationFailed(@NonNull Throwable throwable) {
        Log.d(TAG, throwable.toString());
    }
});
authgear?.authenticate(
    redirectURI: "<AUTHGEAR_REDIRECT_URI>",
    prompt: "login"
)
_authgear.authenticate(
        redirectURI: "<AUTHGEAR_REDIRECT_URI>",
        prompt: "login",
      );