FirebaseAuth JAVA(Spring启动)验证令牌

时间:2017-08-09 11:56:52

标签: java spring firebase firebase-authentication

素不相识。 我正在使用自定义的现有后端(Spring Boot)为我的移动应用程序实现Firebase身份验证。 我通过在移动应用程序中使用firebase在Facebook中成功验证=>想要将用户信息存储在我的后端数据库(不是firebase)中。

坚持调试令牌验证错误。

令牌验证 - 与google doc中的几乎相同:

   try {
        FirebaseToken decodedToken = Tasks.await(
                FirebaseAuth.getInstance().verifyIdToken(info.getToken()));
    } catch (ExecutionException | InterruptedException | IllegalArgumentException e) {
        logger.error(e.getMessage());
    }

收到错误:java.lang.IllegalArgumentException

并且找不到/调试导致它的原因。

相关 - firebase配置:

@Configuration
public class FirebaseConfig {

    private final static Logger logger = LogManager.getLogger(FirebaseConfig.class.getName());

    @Value("classpath:firebase_config.json")
    private Resource firebase_config;

    @PostConstruct
    public void init() throws IOException {

        FileInputStream serviceAccount = new FileInputStream(firebase_config.getFile());

        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
                .setDatabaseUrl("https://******-81233.firebaseio.com")
                .build();
        FirebaseApp.initializeApp(options);
        logger.info("Firebase init done");
    }
}

更新 加入:

FirebaseAuth.getInstance().verifyIdToken(info.getToken()).addOnFailureListener(e -> {
                    System.err.println("Error verifying token: " + e.getMessage());
                });

我得到的错误只是null,而不是说它的起源。

1 个答案:

答案 0 :(得分:-2)

构建发布APK版本。部署并重试。哈希将有所不同,以便它可能会有所帮助。