Firebase의 이전 버전에서는 Java로 작성된 서버 응용 프로그램이 비밀 및 JWT 토큰 생성기를 사용하여 백엔드로 인증합니다. 그런 다음 언제든지 Firebase.getAuth().getToken()
에 전화를 걸어 HTTP 호출에서 해당 토큰을 auth
매개 변수로 다시 사용할 수 있습니다.firebase-server-sdk 자격 증명을 REST API로 다시 사용하기
새로운 firebase-server-sdk
으로 제한 서비스 계정 자격 증명/토큰을 REST API와 재사용하는 방법은 무엇입니까? 특히 server-app
UID를 필요로 위치를 - 나는/구독 특정 위치에 쓸 SDK를 사용할 때 모든 위대한 작품을
Map<String, Object> auth = new HashMap<String, Object>();
auth.put("uid", "server-app");
FirebaseOptions options = new FirebaseOptions.Builder()
.setDatabaseUrl(Environment.FIREBASE_URL)
.setServiceAccount(MyClass.class.getResourceAsStream("/keys/dev.json"))
.setDatabaseAuthVariableOverride(auth)
.build();
FirebaseApp.initializeApp(options);
. 하지만 서버 응용 프로그램에서 REST를 함께 사용하면 서버 응용 프로그램이 동기 읽기를 수행하기 때문에 Firebase 만 REST API를 통해 지원합니다.
FirebaseRestClient firebaseRest = new RestAdapter.Builder()
.setEndpoint(Environment.FIREBASE_URL)
.setRequestInterceptor(new RequestInterceptor() {
@Override
public void intercept(final RequestFacade request) {
request.addQueryParam("access_token", FirebaseAuth.getInstance().createCustomToken("server-app"));
}
})
.build().create(FirebaseRestClient.class);
나는 access_token
및 auth
PARAM 모두를 추가하는 시도했습니다. createCustomToken
메소드가 유효한 JWT를 생성하지만 REST API가 응답하지 않는 것 같습니다.
그 createCustomToken
반환 값을 전달하면 auth
PARAM, 나는 다음과 같은 메시지가 얻을 : 나는 access_token
PARAM로 그 createCustomToken
반환 값에 전달하는 경우
"error" : "Missing claim 'kid' in auth header."
, 나는 기본 Permission denied
API 응답을 얻기를 .
REST API 호출에서 기존 firebase-server-sdk
자격 증명을 쉽게 다시 사용할 수 있습니까?
아베, 데이터베이스 기밀 정보가 현재 사용되지 않으므로 업데이트가 있습니까? –