/* * JBoss, a division of Red Hat * Copyright 2013, Red Hat Middleware, LLC, and individual * contributors as indicated by the @authors tag. See the * copyright.txt in the distribution for a full listing of * individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.gatein.security.oauth.common; /** * Various constants related to OAuth * * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a> */ public class OAuthConstants { // OAuth parameters used in http requests (most of these parameters are mentioned in OAuth2 specification) public static final String CODE_PARAMETER = "code"; public static final String CLIENT_ID_PARAMETER = "client_id"; public static final String CLIENT_SECRET_PARAMETER = "client_secret"; public static final String SCOPE_PARAMETER = "scope"; public static final String STATE_PARAMETER = "state"; public static final String REDIRECT_URI_PARAMETER = "redirect_uri"; public static final String ACCESS_TOKEN_PARAMETER = "access_token"; public static final String ERROR_PARAMETER = "error"; public static final String ERROR_ACCESS_DENIED = "access_denied"; // Used in twitter public static final String OAUTH_VERIFIER = "oauth_verifier"; public static final String OAUTH_DENIED = "denied"; // Properties from configuration.properties public static final String PROPERTY_FACEBOOK_ENABLED = "gatein.oauth.facebook.enabled"; public static final String PROPERTY_FACEBOOK_CLIENT_ID = "gatein.oauth.facebook.clientId"; public static final String PROPERTY_FACEBOOK_CLIENT_SECRET = "gatein.oauth.facebook.clientSecret"; public static final String PROPERTY_FACEBOOK_REDIRECT_URL = "gatein.oauth.facebook.redirectURL"; public static final String PROPERTY_FACEBOOK_SCOPE = "gatein.oauth.facebook.scope"; public static final String PROPERTY_GOOGLE_ENABLED = "gatein.oauth.google.enabled"; public static final String PROPERTY_GOOGLE_CLIENT_ID = "gatein.oauth.google.clientId"; public static final String PROPERTY_GOOGLE_CLIENT_SECRET = "gatein.oauth.google.clientSecret"; public static final String PROPERTY_TWITTER_ENABLED = "gatein.oauth.twitter.enabled"; public static final String PROPERTY_TWITTER_CLIENT_ID = "gatein.oauth.twitter.clientId"; public static final String PROPERTY_TWITTER_CLIENTSECRET = "gatein.oauth.twitter.clientSecret"; public static final String PROPERTY_TWITTER_REDIRECT_URL = "gatein.oauth.twitter.redirectURL"; // Key of OAuthProviders public static final String OAUTH_PROVIDER_KEY_FACEBOOK = "FACEBOOK"; public static final String OAUTH_PROVIDER_KEY_TWITTER = "TWITTER"; public static final String OAUTH_PROVIDER_KEY_GOOGLE = "GOOGLE"; public static final String OAUTH_PROVIDER_KEY_LINKEDIN = "LINKEDIN"; // User profile attributes public static final String PROFILE_FACEBOOK_USERNAME = "user.social-info.facebook.userName"; public static final String PROFILE_GOOGLE_USERNAME = "user.social-info.google.userName"; public static final String PROFILE_TWITTER_USERNAME = "user.social-info.twitter.userName"; // Facebook accessToken could be very long, so we need to split to two attributes public static final String PROFILE_FACEBOOK_ACCESS_TOKEN = "user.social-info.facebook.accessToken"; public static final String PROFILE_FACEBOOK_SCOPE = "user.social-info.facebook.scope"; public static final String PROFILE_GOOGLE_ACCESS_TOKEN = "user.social-info.google.accessToken"; public static final String PROFILE_GOOGLE_REFRESH_TOKEN = "user.social-info.google.refreshToken"; public static final String PROFILE_GOOGLE_SCOPE = "user.social-info.google.scope"; public static final String PROFILE_TWITTER_ACCESS_TOKEN = "user.social-info.twitter.accessToken"; public static final String PROFILE_TWITTER_ACCESS_TOKEN_SECRET = "user.social-info.twitter.accessTokenSecret"; public static final String PROFILE_LINKEDIN_ACCESS_TOKEN = "user.social-info.linkedin.accessToken"; public static final String PROFILE_LINKEDIN_ACCESS_TOKEN_SECRET = "user.social-info.linkedin.accessTokenSecret"; // Session (or AuthenticationRegistry) attributes public static final String ATTRIBUTE_AUTHENTICATED_OAUTH_PRINCIPAL = "_authenticatedOAuthPrincipal"; public static final String ATTRIBUTE_AUTHENTICATED_PORTAL_USER = "_authenticatedPortalUser"; public static final String ATTRIBUTE_AUTHENTICATED_PORTAL_USER_FOR_JAAS = "_authenticatedPortalUserForJaas"; public static final String ATTRIBUTE_URL_TO_REDIRECT_AFTER_LINK_SOCIAL_ACCOUNT = "_urlToRedirectAfterLinkSocialAccount"; public static final String ATTRIBUTE_EXCEPTION_OAUTH = "_oauthException"; public static final String ATTRIBUTE_LINKED_OAUTH_PROVIDER = "_linkedOAuthProviderUsernameAttrName"; public static final String ATTRIBUTE_EXCEPTION_AFTER_FAILED_LINK = "_oauthExceptionAfterFailedLink"; public static final String ATTRIBUTE_TWITTER_REQUEST_TOKEN = "_twitterRequestToken"; public static final String ATTRIBUTE_LINKEDIN_REQUEST_TOKEN = "_linkedinRequestToken"; public static final String ATTRIBUTE_AUTH_STATE = "_authState"; public static final String ATTRIBUTE_VERIFICATION_STATE = "_verificationState"; public static final String ATTRIBUTE_REMEMBER_ME = "_rememberme"; // URL public static final String FACEBOOK_AUTHENTICATION_URL_PATH = "/facebookAuth"; public static final String GOOGLE_AUTHENTICATION_URL_PATH = "/googleAuth"; public static final String TWITTER_AUTHENTICATION_URL_PATH = "/twitterAuth"; // Request parameters public static final String PARAM_OAUTH_INTERACTION = "_oauthInteraction"; public static final String PARAM_CUSTOM_SCOPE = "_oauthCustomScope"; public static final String PARAM_INITIAL_URI = "_initialURI"; public static final String PARAM_REMEMBER_ME = "_rememberme"; public static final String PARAM_OAUTH_INTERACTION_VALUE_START = "start"; // Exception constants public static final String EXCEPTION_OAUTH_PROVIDER_USERNAME_ATTRIBUTE_NAME = "OAuthProviderUsernameAttributeName"; public static final String EXCEPTION_OAUTH_PROVIDER_USERNAME = "OAuthProviderUsername"; public static final String EXCEPTION_OAUTH_PROVIDER_NAME = "OAuthProviderName"; }