首先需要在项目中添加以下依赖项:
implementation 'com.google.firebase:firebase-appcheck:16.0.0-beta01'
implementation 'com.google.firebase:firebase-appcheck-safetynet:16.0.0-beta01'
然后在 onCreate()
方法中初始化 AppCheck:
FirebaseApp.initializeApp(this);
FirebaseAppCheck.getInstance()
.installAppCheckProviderFactory(
SafetyNetAppCheckProviderFactory.getInstance());
接下来需要在 firebase 控制台中开启 reCAPTCHA 验证功能。在“Authentication”选项卡中,单击“安全性”标签,将“reCAPTCHA”切换到打开状态。
最后,在您的应用中使用以下代码验证 AppCheck:
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck
.getAppCheckToken(false)
.addOnCompleteListener(
new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
String token = task.getResult().getToken();
// Validate requests with this token by passing it in an 'Authorization' header.
} else {
Exception e = task.getException();
if (e instanceof FirebaseAppCheckException) {
FirebaseAppCheckException firebaseException = (FirebaseAppCheckException) e;
FirebaseAppCheckErrorCode errorCode =
firebaseException.getErrorCode();
// Handle error
}
}
}
});
使用此代码,您可以从 AppCheck 获取验证令牌,并将其用作请求的授权标头。如果出现错误,可以根据需要处理 FirebaseAppCheckException 错误。