package com.leanengine.server.auth;
import com.leanengine.server.LeanException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.logging.Logger;
public class MobileScheme implements Scheme {
private static final Logger log = Logger.getLogger(MobileScheme.class.getName());
private String scheme = "leanengine://";
private String hostname;
public MobileScheme(String hostname) {
this.hostname = hostname;
}
@Override
public String getUrl(String authToken, String redirectUrl) {
return scheme + hostname + "/?auth_token=" + authToken;
}
@Override
public String getErrorUrl(LeanException exception, String redirectUrl) {
log.severe(exception.getMessage());
try {
return scheme + hostname + "/?errorcode=" + exception.getErrorCode() +
"&errormsg=" + URLEncoder.encode(exception.getMessage(), "UTF-8");
} catch (UnsupportedEncodingException e) {
// should not happen - UTF-8 is supported on all JVMs
return null;
}
}
}