8

내 설정 : 구글 앱 엔진은 위에서 언급 한 엔드 포인트에 대한 생성 된 클라이언트 라이브러리를 포함 Firebase 토큰 확인을 사용하여 Google Cloud Endpoints API를 보호하려면 어떻게해야합니까?

  • 모바일 클라이언트 응용 프로그램을 Google 클라우드 엔드 포인트를 사용하여 만든 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; 
    } 
    
  • +0

    App Engine Flexible Environment 또는 App Engine Standard Environment를 사용하여 이것을 달성 했습니까? – gbhall

    답변

    7

    이 인증 작업으로 작업 큐에 비동기 적으로 실행되고는 onSuccess, onFailure 및 onComplete.

    +0

    대단히 감사합니다. – user2181948

    관련 문제