Firebase VerifyIdToken в бэкэнде Java Spring - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть мобильное приложение, которое использует знак Google и пытается проверить токен в бэкэнде (java spring).Я установил несколько кодов для этого, после многих статей.

  1. FirebaseServiceCredential.java

Это для соединения с firebase, потому что я 'm проверка с использованием Admin SDK

    package com.nostratech.nostrafood.config;

    import com.google.auth.oauth2.GoogleCredentials;
    import com.google.firebase.FirebaseApp;
    import com.google.firebase.FirebaseOptions;
    import com.google.firebase.database.FirebaseDatabase;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.context.annotation.Configuration;

    import java.io.FileInputStream;
    import java.io.IOException;

    @Slf4j
    @Configuration
    public class FirebaseServiceCredential {
    public void firebaseConnect() throws IOException {
        try {
            FileInputStream serviceAccount = new FileInputStream("resources/charity-firebase-adminsdk-ymwjh-61467z75ba.json");

        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .setDatabaseUrl("https://charity.firebaseio.com/")
                .build();

        FirebaseApp.initializeApp(options);
        FirebaseDatabase.getInstance(FirebaseApp.getInstance()).setPersistenceEnabled(true);

            } catch (Exception e) {
                log.debug("Trying to login to firebase failed. Reason: " + e.getMessage());
            }
        }
    }
GoogleSignInService.java

Это код для verifyIdToken

    package com.nostratech.nostrafood.service.base;

    import com.google.firebase.auth.FirebaseAuth;
    import com.google.firebase.auth.FirebaseAuthException;
    import com.google.firebase.auth.FirebaseToken;
    import org.springframework.stereotype.Service;

    @Service
    public class GoogleSignInService {

        public void verifyToken(String idToken) throws FirebaseAuthException {
            FirebaseToken decodedToken = 
            FirebaseAuth.getInstance().verifyIdToken(idToken);
            String uid = decodedToken.getUid();
        }
    }

Что мне делать дальше для проверки токена?Я прочитал много статей, но все еще застрял, не знаю, что делать.

1 Ответ

0 голосов
/ 13 декабря 2018

Если verifyIdToken() возвращается без выдачи исключения, токен проверяется.Никаких других действий не требуется для проверки идентификационного токена.Возвращаемое значение (FirebaseToken) дает вам доступ к UID и утверждениям JWT, связанным с аутентифицированным пользователем.

...