diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java | 16 | ||||
-rw-r--r-- | src/main/java/com/juick/server/configuration/SignInWithAppleConfig.java | 7 |
2 files changed, 15 insertions, 8 deletions
diff --git a/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java b/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java index 3af6bc7a..f8e10d97 100644 --- a/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java +++ b/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java @@ -19,10 +19,10 @@ package com.github.scribejava.apis; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; -import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; -import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.security.Key; import java.security.KeyFactory; @@ -41,14 +41,16 @@ public class AppleClientSecretGenerator { private final Key signingKey; - public AppleClientSecretGenerator(final String subject, final String teamId, final String keyId, final String keyPath) + private final String pemData; + + public AppleClientSecretGenerator(final String subject, final String teamId, final String keyId, final InputStream keyData) throws IOException, NoSuchAlgorithmException, InvalidKeySpecException { this.subject = subject; this.keyId = keyId; this.teamId = teamId; - String pemData = FileUtils.readFileToString(new File(keyPath), StandardCharsets.UTF_8); - String p8encodedData = pemData + this.pemData = IOUtils.toString(keyData, StandardCharsets.UTF_8); + String p8encodedData = getPemData() .replace( "-----BEGIN PRIVATE KEY-----\n", "") .replace("\n", "") @@ -82,4 +84,8 @@ public class AppleClientSecretGenerator { public String getApplicationId() { return subject; } + + public String getPemData() { + return pemData; + } } diff --git a/src/main/java/com/juick/server/configuration/SignInWithAppleConfig.java b/src/main/java/com/juick/server/configuration/SignInWithAppleConfig.java index f736e673..b55ba391 100644 --- a/src/main/java/com/juick/server/configuration/SignInWithAppleConfig.java +++ b/src/main/java/com/juick/server/configuration/SignInWithAppleConfig.java @@ -21,6 +21,7 @@ import com.github.scribejava.apis.AppleClientSecretGenerator; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.Resource; import java.io.IOException; import java.security.NoSuchAlgorithmException; @@ -34,11 +35,11 @@ public class SignInWithAppleConfig { private String teamId; @Value("${apple_key_id:keyid}") private String keyId; - @Value("${apple_key_path:AuthKey.p8}") - private String keyPath; + @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); + return new AppleClientSecretGenerator(appId, teamId, keyId, keyPath.getInputStream()); } } |