package org.ovirt.engine.core; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import javax.servlet.http.HttpServletRequest; import org.ovirt.engine.core.aaa.filters.FiltersHelper; import org.ovirt.engine.core.utils.EngineLocalConfig; public class WelcomeUtils { public static final String AUTH_CODE = "authCode"; public static final String AUTHORIZATION_CODE = "authorization_code"; public static final String CAPABILITY_CREDENTIALS_CHANGE = "capability_credentials_change"; public static final String CODE = "code"; public static final String ENGINE_URI = "ENGINE_URI"; public static final String ENGINE_SSO_AUTH_URL = "ENGINE_SSO_AUTH_URL"; public static final String ENGINE_SSO_CLIENT_ID = "ENGINE_SSO_CLIENT_ID"; public static final String LOCALE = "locale"; public static final String REAUTHENTICATE = "reauthenticate"; public static final String SCOPE = "scope"; public static final String SSO_USER = "sso_user"; public static final String TOKEN = "token"; public static final String UTF8 = "UTF-8"; public static final String CREDENTIALS_CHANGE_FORM_URI = "/credentials-change.html"; public static final String LOGIN_URI = "/login"; public static final String LOGOUT_URI = "/logout"; public static final String OAUTH_CALLBACK_URL_FORMAT = "%s://%s:%s%s/oauth2-callback"; public static final String OAUTH_AUTHORIZE_URI = "/oauth/authorize"; public static final String SWITCH_USER_URI = "/switch-user"; public static final String WELCOME_PAGE_JSP_URI = "/WEB-INF/ovirt-engine.jsp"; public static final String HTTP_PARAM_ENGINE_URL = "engine_url"; public static final String HTTP_PARAM_LOCALE = "locale"; public static final String HTTP_PARAM_REDIRECT_URI = "redirect_uri"; public static final String HTTP_PARAM_SCOPE = "scope"; public static final String HTTP_PARAM_CLIENT_ID = "client_id"; public static final String HTTP_PARAM_RESPONSE_TYPE = "response_type"; public static final String JSON_ACCESS_TOKEN = "access_token"; public static final String JSON_USER_ID = "user_id"; public static final String ERROR_CODE = "error_code"; public static final String ERROR = "error"; public static final String ERR_CODE_INVALID_GRANT = "invalid_grant"; public static final String ERR_OVIRT_CODE_NOT_AUTHENTICATED = "not_authenticated"; public static String getOauth2CallbackUrl(HttpServletRequest request) { return String.format(OAUTH_CALLBACK_URL_FORMAT, request.getScheme(), FiltersHelper.getRedirectUriServerName(request.getServerName()), request.getServerPort(), EngineLocalConfig.getInstance().getProperty(WelcomeUtils.ENGINE_URI)); } public static String getLoginUrl(String engineUri, String scope) throws UnsupportedEncodingException { return String.format("%s%s?%s=%s", engineUri, WelcomeUtils.LOGIN_URI, WelcomeUtils.SCOPE, URLEncoder.encode(scope, WelcomeUtils.UTF8)); } }