From deef9ad990c3f5902b1556edbf93dabf223ac175 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Mon, 18 May 2020 13:41:35 +0300 Subject: Fix startup exception --- build.gradle | 1 + .../java/com/github/scribejava/apis/AppleClientSecretGenerator.java | 6 +++--- src/main/java/com/juick/config/SignInWithAppleConfig.java | 6 ++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index bb5c6cf2..7afcac4e 100644 --- a/build.gradle +++ b/build.gradle @@ -121,6 +121,7 @@ dependencies { compile ("org.springframework.boot:spring-boot-starter-json") compile ("org.springframework.boot:spring-boot-starter-actuator") compile ('org.springframework.boot:spring-boot-devtools') + runtime ("org.springframework.boot:spring-boot-properties-migrator") compile 'org.flywaydb:flyway-core:6.4.2' compile 'com.github.ben-manes.caffeine:caffeine:2.8.3' diff --git a/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java b/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java index f3406182..be2c30cf 100644 --- a/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java +++ b/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java @@ -45,13 +45,13 @@ public class AppleClientSecretGenerator { private final byte[] pemData; - public AppleClientSecretGenerator(final String subject, final String teamId, final String keyId, final Path keyFile) - throws IOException, NoSuchAlgorithmException, InvalidKeySpecException { + public AppleClientSecretGenerator(final String subject, final String teamId, final String keyId, final byte[] pemData) + throws NoSuchAlgorithmException, InvalidKeySpecException { this.subject = subject; this.keyId = keyId; this.teamId = teamId; - this.pemData = Files.readAllBytes(keyFile); + this.pemData = pemData; String p8encodedData = new String(getPemData(), StandardCharsets.UTF_8) .replace( "-----BEGIN PRIVATE KEY-----\n", "") diff --git a/src/main/java/com/juick/config/SignInWithAppleConfig.java b/src/main/java/com/juick/config/SignInWithAppleConfig.java index 0b41cb7e..bbd58aed 100644 --- a/src/main/java/com/juick/config/SignInWithAppleConfig.java +++ b/src/main/java/com/juick/config/SignInWithAppleConfig.java @@ -18,6 +18,7 @@ package com.juick.config; import com.github.scribejava.apis.AppleClientSecretGenerator; +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -35,11 +36,12 @@ public class SignInWithAppleConfig { private String teamId; @Value("${apple_key_id:keyid}") private String keyId; - @Value("${apple_key_path:classpath:testkey.p8}") + @Value("${apple_key_path:classpath:/testkey.p8}") private Resource keyPath; @Bean public AppleClientSecretGenerator clientSecretGenerator() throws IOException, InvalidKeySpecException, NoSuchAlgorithmException { - return new AppleClientSecretGenerator(appId, teamId, keyId, keyPath.getFile().toPath()); + byte[] pemData = IOUtils.toByteArray(keyPath.getInputStream()); + return new AppleClientSecretGenerator(appId, teamId, keyId, pemData); } } -- cgit v1.2.3