All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.io.connector.okta.OktaTokenFiller Maven / Gradle / Ivy

The newest version!
package prerna.io.connector.okta;

import java.util.HashMap;
import java.util.Map;

import prerna.auth.AccessToken;
import prerna.io.connector.IAccessTokenFiller;
import prerna.security.HttpHelperUtility;
import prerna.util.BeanFiller;

public class OktaTokenFiller implements IAccessTokenFiller {

	private static String jsonPattern = "[sub,name,email,phone_number]";
	private static String[] beanProps = {"id","name","email","phone"};
	
	@Override
	public void fillAccessToken(AccessToken oktaAccessToken, String userInfoUrl, String jsonPattern, String[] beanProps, Map params) {
		if(params == null) {
			params = new HashMap<>();
		}
		if(jsonPattern == null || (jsonPattern=jsonPattern.trim()).isEmpty()) {
			jsonPattern = OktaTokenFiller.jsonPattern;
		}
		if(beanProps == null || beanProps.length == 0) {
			beanProps = OktaTokenFiller.beanProps;
		}
		
		String accessToken = oktaAccessToken.getAccess_token();
		String output = HttpHelperUtility.makeGetCall(userInfoUrl, accessToken, params, true);
		// fill the bean with the return
		BeanFiller.fillFromJson(output, jsonPattern, beanProps, oktaAccessToken);
	}

	@Override
	public void fillAccessToken(AccessToken accessToken, String userInfoUrl, String jsonPattern, String[] beanProps, Map params, boolean sanitizeResponse) {
		// dont need to sanitize
		fillAccessToken(accessToken, userInfoUrl, jsonPattern, beanProps, params);
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy