手机
您可以在应用中集成手机帐号认证方式,您的用户可以使用手机号码和密码或者手机号码和验证码来登录您的应用。
前提条件
注册
- 通过VerifyCodeSettings.Builder生成settings ,然后调用AGConnectAuth.requestVerifyCode申请验证码。
- 调用PhoneUser.Builder生成PhoneUser,然后调用AGConnectAuth.createUser注册用户。注册成功后,系统会自动登录,无需再次调用登录接口。
- 登录成功后可以调用AGConnectAuth.getCurrentUser获取用户帐号数据。JavaKotlin
AGConnectUser user = AGConnectAuth.getInstance().getCurrentUser();
密码登录
- 在应用的登录界面,初始化AGConnectAuth实例,获取AGC的用户信息,检查是否有已经登录的用户。如果有则可以直接进入用户界面,否则显示登录界面。JavaKotlin
AGConnectUser user = AGConnectAuth.getInstance().getCurrentUser();
- 调用PhoneAuthProvider.credentialWithPassword采用密码方式创建手机帐号凭证。JavaKotlin
AGConnectAuthCredential credential = PhoneAuthProvider.credentialWithPassword("countryCode","phoneNumber", "password");
- 获取credential成功后,调用AGConnectAuth.signIn实现登录。JavaKotlin
AGConnectAuth.getInstance().signIn(credential).addOnSuccessListener(new OnSuccessListener
() {@Overridepublic void onSuccess(SignInResult signInResult) {//获取登录信息}}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {}});
验证码登录
- 在应用的登录界面,初始化AGConnectAuth实例,获取AGC的用户信息,检查是否有已经登录的用户。如果有则可以直接进入用户界面,否则显示登录界面。JavaKotlin
AGConnectUser user = AGConnectAuth.getInstance().getCurrentUser();
- 调用VerifyCodeSettings.Builder生成settings ,然后调用AGConnectAuth.requestVerifyCode申请验证码。
- password参数可以不传, 如果同时输入了密码和验证码,则会对密码和验证码都做验证。
- 获取credential成功后,调用AGConnectAuth.signIn实现登录。JavaKotlin
AGConnectAuth.getInstance().signIn(credential).addOnSuccessListener(new OnSuccessListener
() {@Overridepublic void onSuccess(SignInResult signInResult) {//获取登录信息}}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {}});
修改手机号码
- 调用VerifyCodeSettings.Builder生成settings ,然后调用AGConnectAuth.requestVerifyCode申请验证码。
- 对于修改手机号码操作,要求用户必须在5分钟内登录过才能执行。若已超时,请参见帐号重认证先完成重认证。
修改密码
修改密码时需要用户处于登录状态。
- 调用VerifyCodeSettings.Builder生成settings ,然后调用AGConnectAuth.requestVerifyCode申请验证码。
- 对于修改密码操作,要求用户必须在5分钟内登录过才能执行。若已超时,请参见帐号重认证先完成重认证。
重置密码
重置密码时用户可以不登录。
- 调用VerifyCodeSettings.Builder生成settings ,然后调用AGConnectAuth.requestVerifyCode申请验证码。
- 调用AGConnectAuth.resetPassword重置密码。JavaKotlin
AGConnectAuth.getInstance().resetPassword(countryCode, phoneNumber, newPassword, verifyCode).addOnSuccessListener(new OnSuccessListener
() {@Overridepublic void onSuccess(Void aVoid) {// onSuccess}}).addOnFailureListener(new OnFailureListener() {@Overridepublic void onFailure(Exception e) {// onFail}});