/
ApiWithAppCheckExample.kt
42 lines (37 loc) · 1.25 KB
/
ApiWithAppCheckExample.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.google.firebase.example.appcheck.kotlin
import com.google.firebase.appcheck.appCheck
import com.google.firebase.Firebase
import retrofit2.Call
import retrofit2.Retrofit
import retrofit2.http.GET
import retrofit2.http.Header
// [START appcheck_custom_backend]
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)
// ...
}
}
}
// [END appcheck_custom_backend]
class Misc {
private fun getLimitedUseToken() {
// [START appcheck_get_limited_use_token]
Firebase.appCheck.limitedUseAppCheckToken.addOnSuccessListener {
// ...
}
// [END appcheck_get_limited_use_token]
}
}