Вы можете использовать App Check для защиты не-Google пользовательских бэкенд-ресурсов для вашего приложения, например, вашего собственного бэкенда. Для этого вам нужно будет выполнить оба следующих действия:
- Измените клиентское приложение так, чтобы оно отправляло токен App Check вместе с каждым запросом на ваш бэкэнд, как описано на этой странице.
- Измените свой бэкэнд так, чтобы он требовал действительный токен App Check при каждом запросе, как описано в разделе Проверка токенов App Check с помощью пользовательского бэкэнда .
Прежде чем начать
Добавьте App Check в свое приложение, используя либо поставщика Play Integrity по умолчанию, либо пользовательского поставщика .
Отправка токенов App Check с бэкэнд-запросами
Чтобы убедиться, что ваши внутренние запросы включают действительный, неистекший токен App Check , оберните каждый запрос в вызов getAppCheckToken()
. Библиотека App Check обновит токен при необходимости, и вы сможете получить доступ к токену в прослушивателе успеха метода.
Получив действительный токен, отправьте его вместе с запросом на бэкенд. Конкретные действия по выполнению этого задания зависят от вас, но не отправляйте токены App Check как часть URL-адресов , в том числе в параметрах запроса, так как это делает их уязвимыми для случайной утечки и перехвата. Рекомендуемый подход — отправлять токен в пользовательском заголовке HTTP.
Например, если вы используете Retrofit:
Kotlin
class ApiWithAppCheckExample { interface YourExampleBackendService { @GET("yourExampleEndpoint") fun exampleData( @Header("X-Firebase-AppCheck") appCheckToken: String, ): Call<List<String>> } var yourExampleBackendService: YourExampleBackendService = Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService::class.java) fun callApiExample() { Firebase.appCheck.getAppCheckToken(false).addOnSuccessListener { appCheckToken -> val token = appCheckToken.token val apiCall = yourExampleBackendService.exampleData(token) // ... } } }
Java
public class ApiWithAppCheckExample { private interface YourExampleBackendService { @GET("yourExampleEndpoint") Call<List<String>> exampleData( @Header("X-Firebase-AppCheck") String appCheckToken); } YourExampleBackendService yourExampleBackendService = new Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService.class); public void callApiExample() { FirebaseAppCheck.getInstance() .getAppCheckToken(false) .addOnSuccessListener(new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(@NonNull AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); Call<List<String>> apiCall = yourExampleBackendService.exampleData(token); // ... } }); } }
Защита от повторного воспроизведения (бета)
При выполнении запроса к конечной точке, для которой включена защита от повторного воспроизведения , заключите запрос в вызов getLimitedUseAppCheckToken()
вместо getAppCheckToken()
:
Kotlin
Firebase.appCheck.limitedUseAppCheckToken.addOnSuccessListener { // ... }
Java
FirebaseAppCheck.getInstance() .getLimitedUseAppCheckToken().addOnSuccessListener( new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); // ... } } );
Вы можете использовать App Check для защиты не-Google пользовательских бэкенд-ресурсов для вашего приложения, например, вашего собственного бэкенда. Для этого вам нужно будет выполнить оба следующих действия:
- Измените клиентское приложение так, чтобы оно отправляло токен App Check вместе с каждым запросом на ваш бэкэнд, как описано на этой странице.
- Измените свой бэкэнд так, чтобы он требовал действительный токен App Check при каждом запросе, как описано в разделе Проверка токенов App Check с помощью пользовательского бэкэнда .
Прежде чем начать
Добавьте App Check в свое приложение, используя либо поставщика Play Integrity по умолчанию, либо пользовательского поставщика .
Отправка токенов App Check с бэкэнд-запросами
Чтобы убедиться, что ваши внутренние запросы включают действительный, неистекший токен App Check , оберните каждый запрос в вызов getAppCheckToken()
. Библиотека App Check обновит токен при необходимости, и вы сможете получить доступ к токену в прослушивателе успеха метода.
Получив действительный токен, отправьте его вместе с запросом на бэкенд. Конкретные действия по выполнению этого задания зависят от вас, но не отправляйте токены App Check как часть URL-адресов , в том числе в параметрах запроса, так как это делает их уязвимыми для случайной утечки и перехвата. Рекомендуемый подход — отправлять токен в пользовательском заголовке HTTP.
Например, если вы используете Retrofit:
Kotlin
class ApiWithAppCheckExample { interface YourExampleBackendService { @GET("yourExampleEndpoint") fun exampleData( @Header("X-Firebase-AppCheck") appCheckToken: String, ): Call<List<String>> } var yourExampleBackendService: YourExampleBackendService = Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService::class.java) fun callApiExample() { Firebase.appCheck.getAppCheckToken(false).addOnSuccessListener { appCheckToken -> val token = appCheckToken.token val apiCall = yourExampleBackendService.exampleData(token) // ... } } }
Java
public class ApiWithAppCheckExample { private interface YourExampleBackendService { @GET("yourExampleEndpoint") Call<List<String>> exampleData( @Header("X-Firebase-AppCheck") String appCheckToken); } YourExampleBackendService yourExampleBackendService = new Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService.class); public void callApiExample() { FirebaseAppCheck.getInstance() .getAppCheckToken(false) .addOnSuccessListener(new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(@NonNull AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); Call<List<String>> apiCall = yourExampleBackendService.exampleData(token); // ... } }); } }
Защита от повторного воспроизведения (бета)
При выполнении запроса к конечной точке, для которой включена защита от повторного воспроизведения , заключите запрос в вызов getLimitedUseAppCheckToken()
вместо getAppCheckToken()
:
Kotlin
Firebase.appCheck.limitedUseAppCheckToken.addOnSuccessListener { // ... }
Java
FirebaseAppCheck.getInstance() .getLimitedUseAppCheckToken().addOnSuccessListener( new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); // ... } } );
Вы можете использовать App Check для защиты не-Google пользовательских бэкенд-ресурсов для вашего приложения, например, вашего собственного бэкенда. Для этого вам нужно будет выполнить оба следующих действия:
- Измените клиентское приложение так, чтобы оно отправляло токен App Check вместе с каждым запросом на ваш бэкэнд, как описано на этой странице.
- Измените свой бэкэнд так, чтобы он требовал действительный токен App Check при каждом запросе, как описано в разделе Проверка токенов App Check с помощью пользовательского бэкэнда .
Прежде чем начать
Добавьте App Check в свое приложение, используя либо поставщика Play Integrity по умолчанию, либо пользовательского поставщика .
Отправка токенов App Check с бэкэнд-запросами
Чтобы убедиться, что ваши внутренние запросы включают действительный, неистекший токен App Check , оберните каждый запрос в вызов getAppCheckToken()
. Библиотека App Check обновит токен при необходимости, и вы сможете получить доступ к токену в прослушивателе успеха метода.
Получив действительный токен, отправьте его вместе с запросом на бэкенд. Конкретные действия по выполнению этого задания зависят от вас, но не отправляйте токены App Check как часть URL-адресов , в том числе в параметрах запроса, так как это делает их уязвимыми для случайной утечки и перехвата. Рекомендуемый подход — отправлять токен в пользовательском заголовке HTTP.
Например, если вы используете Retrofit:
Kotlin
class ApiWithAppCheckExample { interface YourExampleBackendService { @GET("yourExampleEndpoint") fun exampleData( @Header("X-Firebase-AppCheck") appCheckToken: String, ): Call<List<String>> } var yourExampleBackendService: YourExampleBackendService = Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService::class.java) fun callApiExample() { Firebase.appCheck.getAppCheckToken(false).addOnSuccessListener { appCheckToken -> val token = appCheckToken.token val apiCall = yourExampleBackendService.exampleData(token) // ... } } }
Java
public class ApiWithAppCheckExample { private interface YourExampleBackendService { @GET("yourExampleEndpoint") Call<List<String>> exampleData( @Header("X-Firebase-AppCheck") String appCheckToken); } YourExampleBackendService yourExampleBackendService = new Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService.class); public void callApiExample() { FirebaseAppCheck.getInstance() .getAppCheckToken(false) .addOnSuccessListener(new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(@NonNull AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); Call<List<String>> apiCall = yourExampleBackendService.exampleData(token); // ... } }); } }
Защита от повторного воспроизведения (бета)
При выполнении запроса к конечной точке, для которой включена защита от повторного воспроизведения , заключите запрос в вызов getLimitedUseAppCheckToken()
вместо getAppCheckToken()
:
Kotlin
Firebase.appCheck.limitedUseAppCheckToken.addOnSuccessListener { // ... }
Java
FirebaseAppCheck.getInstance() .getLimitedUseAppCheckToken().addOnSuccessListener( new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); // ... } } );
Вы можете использовать App Check для защиты не-Google пользовательских бэкенд-ресурсов для вашего приложения, например, вашего собственного бэкенда. Для этого вам нужно будет выполнить оба следующих действия:
- Измените клиентское приложение так, чтобы оно отправляло токен App Check вместе с каждым запросом на ваш бэкэнд, как описано на этой странице.
- Измените свой бэкэнд так, чтобы он требовал действительный токен App Check при каждом запросе, как описано в разделе Проверка токенов App Check с помощью пользовательского бэкэнда .
Прежде чем начать
Добавьте App Check в свое приложение, используя либо поставщика Play Integrity по умолчанию, либо пользовательского поставщика .
Отправка токенов App Check с бэкэнд-запросами
Чтобы убедиться, что ваши внутренние запросы включают действительный, неистекший токен App Check , оберните каждый запрос в вызов getAppCheckToken()
. Библиотека App Check обновит токен при необходимости, и вы сможете получить доступ к токену в прослушивателе успеха метода.
Получив действительный токен, отправьте его вместе с запросом на бэкенд. Конкретные действия по выполнению этого задания зависят от вас, но не отправляйте токены App Check как часть URL-адресов , в том числе в параметрах запроса, так как это делает их уязвимыми для случайной утечки и перехвата. Рекомендуемый подход — отправлять токен в пользовательском заголовке HTTP.
Например, если вы используете Retrofit:
Kotlin
class ApiWithAppCheckExample { interface YourExampleBackendService { @GET("yourExampleEndpoint") fun exampleData( @Header("X-Firebase-AppCheck") appCheckToken: String, ): Call<List<String>> } var yourExampleBackendService: YourExampleBackendService = Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService::class.java) fun callApiExample() { Firebase.appCheck.getAppCheckToken(false).addOnSuccessListener { appCheckToken -> val token = appCheckToken.token val apiCall = yourExampleBackendService.exampleData(token) // ... } } }
Java
public class ApiWithAppCheckExample { private interface YourExampleBackendService { @GET("yourExampleEndpoint") Call<List<String>> exampleData( @Header("X-Firebase-AppCheck") String appCheckToken); } YourExampleBackendService yourExampleBackendService = new Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService.class); public void callApiExample() { FirebaseAppCheck.getInstance() .getAppCheckToken(false) .addOnSuccessListener(new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(@NonNull AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); Call<List<String>> apiCall = yourExampleBackendService.exampleData(token); // ... } }); } }
Защита от повторного воспроизведения (бета)
При выполнении запроса к конечной точке, для которой включена защита от повторного воспроизведения , заключите запрос в вызов getLimitedUseAppCheckToken()
вместо getAppCheckToken()
:
Kotlin
Firebase.appCheck.limitedUseAppCheckToken.addOnSuccessListener { // ... }
Java
FirebaseAppCheck.getInstance() .getLimitedUseAppCheckToken().addOnSuccessListener( new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); // ... } } );