Post

Replies

Boosts

Views

Activity

Reply to Sign with apple invalid_grant
we have the same problem when we Validate the Authorization Grant Code. New authorization  code is requested for each attempt. Here is our code byte[] encoded = Base64.getDecoder().decode(SECRET_KEY); 						PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encoded); 					 						 						 KeyFactory factory = KeyFactory.getInstance("EC"); PrivateKey privKey = factory.generatePrivate(keySpec); JwtClaims claims = new JwtClaims(); claims.setIssuer(ISS); claims.setIssuedAtToNow(); claims.setExpirationTimeMinutesInTheFuture(10); claims.setAudience(AUD); claims.setSubject(SUB); claims.setNotBeforeMinutesInThePast(2); JsonWebSignature jws = new JsonWebSignature(); jws.setPayload(claims.toJson()); jws.setHeader("kid", KID); jws.setKey(privKey); jws.setAlgorithmHeaderValue(AlgorithmIdentifiers.ECDSA_USING_P256_CURVE_AND_SHA256); String clientSecret = jws.getCompactSerialization(); String requestString = "client_id="+IOS_BUNDLE_ID+"&client_secret="+clientSecret+"&code="+code+"&grant_type=authorization_code"; byte[] postData = requestString.getBytes( StandardCharsets.UTF_8 ); int postDataLength = postData.length; String sUrl = "https://appleid.apple.com/auth/token"; URL url; url = new URL(sUrl); HttpsURLConnection http; http = (HttpsURLConnection) url.openConnection(); http.setRequestProperty("Host", "appleid.apple.com"); http.setRequestProperty("Accept", "application/json"); http.setRequestProperty("User-Agent", "mot"); http.setDoOutput(true); http.setDoInput(true); http.setRequestMethod("POST"); http.setRequestProperty("content-type", "application/x-www-form-urlencoded"); http.setRequestProperty("charset", "utf-8"); http.setRequestProperty("Content-Length", Integer.toString(postDataLength )); http.setUseCaches(false); try(DataOutputStream wr = new DataOutputStream(http.getOutputStream())) { 	 wr.write( postData ); wr.flush(); } int responseCode = http.getResponseCode();
Topic: App & System Services SubTopic: General Tags:
Nov ’20