내 설정 : 구글 앱 엔진은 위에서 언급 한 엔드 포인트에 대한 생성 된 클라이언트 라이브러리를 포함 Firebase 토큰 확인을 사용하여 Google Cloud Endpoints API를 보호하려면 어떻게해야합니까?
- 자바 백엔드. 또한 인증 및 데이터베이스 용으로 Firebase와 통합되었습니다.
모바일 클라이언트 애플리케이션 사용자는 Firebase 인증을 사용하여 모바일 앱에 로그인 한 다음 백엔드 API 중 하나에 연결하여 처리를 수행 한 다음 읽을 수 있습니다 Firebase 데이터베이스에 /로부터 데이터를 기록 할 수 있습니다.
서버에서 API를 보호하려면 Firebase Server SDK의 기본 verifyIdToken() 메소드 (Firebase의 Verifying ID Tokens 참조)를 사용하여 클라이언트에서 전달 된 사용자의 ID 토큰을 디코딩해야한다고 생각합니다 신청. verifyIdToken()이 비동기 적으로 실행되므로 GAE의 API 메소드와 어떻게 통합됩니까? 나는 지금까지 다음과 유사한 있습니다 : 해당 작업 종료 및 동기 방식으로 계속 될 때까지, 당신은 선택적으로 당신은 청취자를 추가 할 수 기다릴 수
@ApiMethod(name = "processAndSaveToDB", httpMethod = "post")
public Response processAndSaveToDB(@Named("token") String token) {
Response response = new Response();
// Check if the user is authenticated first
FirebaseAuth.getInstance().verifyIdToken(idToken)
.addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(FirebaseToken decodedToken) {
String uid = decodedToken.getUid();
// do bulk of processAndSaveToDB() method
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
// throw unauthorized exception
});
return response;
}
App Engine Flexible Environment 또는 App Engine Standard Environment를 사용하여 이것을 달성 했습니까? – gbhall