AndroidGoogleSSO-强制用户输入密码
创始人
2024-10-08 00:32:19
0

若您使用 Android Google SSO,在强制用户输入密码这方面存在一个限制,我们可以通过下面的代码示例轻松解决此问题:

// 获取Google账户进行身份验证 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken(getString(R.string.default_web_client_id)) .build();

// 通过上述代码获取账户后,我们再来隐藏使用默认的谷歌登录按钮登陆,这样可以让用户只以“Google登录”或“Google注册”的形式进行操作。 GoogleSignInClient googleSignInClient = GoogleSignIn.getClient(this, gso);

// 关于Google帐户登录: googleSignInBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent signInIntent = googleSignInClient.getSignInIntent(); startActivityForResult(signInIntent, RC_SIGN_IN); } });

// 在登录成功后,在回调方法中判断如果用户在之前已经登录了一次,就显示一个弹框让用户再次输入密码。 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);

if (requestCode == RC_SIGN_IN) {
    Task task = GoogleSignIn.getSignedInAccountFromIntent(data);
    try {
        // Google 登录成功,得到用户的信息后,这里就可以选择做其他处理了
        GoogleSignInAccount account = task.getResult(ApiException.class);
        firebaseAuthWithGoogle(account);
    } catch (ApiException e) {
        // Google 登录失败,可以选择做其他处理
        Log.w(TAG, "Google sign in failed", e);
    }
}

}

// 这里是 Firebase 验证指定 Google 凭据的代码实现 private void firebaseAuthWithGoogle(GoogleSignInAccount acct) { Log.d(TAG, "firebaseAuthWithGoogle:" + acct.getId());

AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
mAuth.signInWithCredential(credential)
        .addOnCompleteListener(this, new OnCompleteListener() {
            @Override

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...