Skip to content

Instantly share code, notes, and snippets.

View balvinder294's full-sized avatar
๐Ÿ˜Ž
Working Remotey

Balvinder Singh balvinder294

๐Ÿ˜Ž
Working Remotey
View GitHub Profile
@balvinder294
balvinder294 / SocialRedirect.java
Created July 27, 2020 08:21
Methods to handle social redirect when using popup for authorization with Apple SignIn with response type as form-post for a subdomain
/**
* Redirect User to Social verify to complete social media authorization
*
* @param state the state parameter containing BoxDomain for verification
* @param code the authorization code
* @param httpServletResponse the response with redirection for url
*
* @throws IOException
*/
@GetMapping(value = "/social-login/authorize")
@balvinder294
balvinder294 / AuthorizationUrl.java
Last active July 27, 2020 08:21
Method to create Authorization Url for Apple Sign in Auhtorization for a user
import org.json.JSONObject;
/******
*To create authorization url for social sign in
this url will open authentication window for apple sign in
for a subdomain as state param
*****/
public String createAuthorizationUrl(String subDomain) {
// I have added jsob objct for encodin state paramters like for getting the curent domain used as we have multiple subdomains, you can add your state parameters here
JSONObject jsonObject = new JSONObject();
@balvinder294
balvinder294 / SocialParametersDTO.java
Created July 27, 2020 07:44
DTO for handling Authorization parameters for sending to api for Social Sign in from Apple SignIn
package dehaze.mvp.service.dto;
import java.io.Serializable;
/**
* A DTO for the SocialUser.
*/
public class SocialParametersDTO implements Serializable {
private static final long serialVersionUID = 3484800209656475818L;
@balvinder294
balvinder294 / ListApplePublicKey.java
Created July 27, 2020 07:33
DTO for handling Response from Apples public key list for Apple Sign In
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
public final class ListApplePublicKey {
private final List<ApplePublicKey> keys;
public ListApplePublicKey(@JsonProperty("keys") List<ApplePublicKey> keys) {
this.keys = keys;
@balvinder294
balvinder294 / TokenResponse.java
Created July 27, 2020 07:32
DTO for handling response For OAuth Token from Apple SignIn
public final class TokenResponse {
private String access_token;
private String token_type;
private Long expires_in;
private String refresh_token;
private String id_token;
public String getAccess_token() {
return access_token;
@balvinder294
balvinder294 / ApplePublicKey.java
Created July 27, 2020 07:29
DTO for Handling Response for Public Key from Apple
import com.fasterxml.jackson.annotation.JsonProperty;
public final class ApplePublicKey {
private final String kty;
private final String kid;
private final String use;
private final String alg;
private final String n;
private final String e;
@balvinder294
balvinder294 / AppleIDTokenpayload.java
Created July 27, 2020 07:28
DTO class for handling ID token response from Apple Sign In
public class AppleIDTokenPayload {
private String iss;
private String aud;
private Long exp;
private Long iat;
private String sub;// users unique id
private String at_hash;
private Long auth_time;
private Boolean nonce_supported;
@balvinder294
balvinder294 / apple-authorize.java
Last active October 25, 2022 07:10
Authorize Method for apple sign in
/*************** Imports ***************/
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import org.json.JSONObject;
import org.springframework.cloud.cloudfoundry.com.fasterxml.jackson.databind.ObjectMapper;
private static String APPLE_AUTH_URL = "https://appleid.apple.com/auth/token";
@balvinder294
balvinder294 / JWTToken.java
Created July 27, 2020 07:05
JWT Token gneration for apple Sign in verification
/***Imports ****/
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
import org.bouncycastle.openssl.PEMParser;
import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter;
import java.security.PrivateKey;
import java.security.PublicKey;
import io.jsonwebtoken.JwsHeader;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
@balvinder294
balvinder294 / search-query-with-score.java
Last active June 22, 2020 06:28
Method to modify elasticsearch query to get score using hits from query response with elasticsearch spring boot.
/*****
* Tekraze.com for more
*
*****/
///Imports
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;