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

edu.uiuc.ncsa.myproxy.oa4mp.oauth2.storage.OA2TConverter Maven / Gradle / Ivy

The newest version!
package edu.uiuc.ncsa.myproxy.oa4mp.oauth2.storage;

import edu.uiuc.ncsa.myproxy.oa4mp.oauth2.OA2ServiceTransaction;
import edu.uiuc.ncsa.myproxy.oa4mp.server.util.TransactionConverter;
import edu.uiuc.ncsa.security.core.IdentifiableProvider;
import edu.uiuc.ncsa.security.delegation.server.storage.ClientStore;
import edu.uiuc.ncsa.security.delegation.storage.Client;
import edu.uiuc.ncsa.security.delegation.token.RefreshToken;
import edu.uiuc.ncsa.security.delegation.token.TokenForge;
import edu.uiuc.ncsa.security.oauth_2_0.OA2TokenForge;
import edu.uiuc.ncsa.security.storage.data.ConversionMap;
import net.sf.json.JSONArray;
import net.sf.json.JSONSerializer;

import java.util.Collection;

/**
 * 

Created by Jeff Gaynor
* on 3/12/14 at 1:35 PM */ public class OA2TConverter extends TransactionConverter { public OA2TConverter(OA2TransactionKeys keys, IdentifiableProvider identifiableProvider, TokenForge tokenForge, ClientStore cs) { super(keys, identifiableProvider, tokenForge, cs); } protected OA2TransactionKeys getTCK() { return (OA2TransactionKeys) keys; } protected OA2TokenForge getTF2() { return (OA2TokenForge) getTokenForge(); } @Override public V fromMap(ConversionMap map, V v) { V st = super.fromMap(map, v); Object refreshToken = map.get(getTCK().refreshToken()); if (refreshToken != null) { if (refreshToken instanceof RefreshToken) { st.setRefreshToken((RefreshToken) refreshToken); } else { st.setRefreshToken(getTF2().getRefreshToken(refreshToken.toString())); } } st.setRefreshTokenValid(map.getBoolean(getTCK().refreshTokenValid())); st.setRefreshTokenLifetime(map.getLong(getTCK().expiresIn())); st.setCallback(map.getURI(getTCK().callbackUri())); st.setNonce(map.getString(getTCK().nonce())); if (map.get(getTCK().scopes()) != null) { net.sf.json.JSONArray json = (net.sf.json.JSONArray) JSONSerializer.toJSON(map.get(getTCK().scopes())); Collection zzz = (Collection) JSONSerializer.toJava(json); st.setScopes(zzz); } if(map.get(getTCK().authTime()) != null){ st.setAuthTime(map.getDate(getTCK().authTime)); } return st; } @Override public void toMap(V t, ConversionMap map) { super.toMap(t, map); if (t.getRefreshToken() != null) { map.put(getTCK().refreshToken(), t.getRefreshToken().getToken()); } map.put(getTCK().refreshTokenValid(), t.isRefreshTokenValid()); if (t.getCallback() != null) { map.put(getTCK().callbackUri(), t.getCallback().toString()); } map.put(getTCK().expiresIn(), t.getRefreshTokenLifetime()); if (t.getNonce() != null && 0 < t.getNonce().length()) { map.put(getTCK().nonce(), t.getNonce()); } if (t.getScopes().isEmpty()) { return; } JSONArray jsonArray = new JSONArray(); for (String s : t.getScopes()) { jsonArray.add(s); } map.put(getTCK().scopes(), jsonArray.toString()); if(t.hasAuthTime()){ map.put(getTCK().authTime(), t.getAuthTime()); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy