/* * Copyright (c) 2013, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * WSO2 Inc. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except * in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.wso2.carbon.identity.oauth.common; public final class OAuthConstants { //OAuth2 request headers. public static final String HTTP_REQ_HEADER_AUTHZ = "Authorization"; // OAuth2 response headers public static final String HTTP_RESP_HEADER_CACHE_CONTROL = "Cache-Control"; public static final String HTTP_RESP_HEADER_PRAGMA = "Pragma"; public static final String HTTP_RESP_HEADER_AUTHENTICATE = "WWW-Authenticate"; // OAuth2 response header values public static final String HTTP_RESP_HEADER_VAL_CACHE_CONTROL_NO_STORE = "no-store"; public static final String HTTP_RESP_HEADER_VAL_PRAGMA_NO_CACHE = "no-cache"; // OAuth response parameters public static final String OAUTH_TOKEN = "oauth_token"; public static final String OAUTH_TOKEN_SECRET = "oauth_token_secret"; public static final String OAUTH_CALLBACK_CONFIRMED = "oauth_callback_confirmed"; public static final String OAUTH_VERIFIER = "oauth_verifier"; public static final String OAUTHORIZED_USER = "oauthorized_user"; public static final String APPLICATION_NAME = "application_name"; public static final String OAUTH_USER_CONSUMER_KEY = "consumer_key"; public static final String OAUTH_APP_CALLBACK = "callback_url"; public static final String OAUTH_APP_CONSUMER_KEY = "consumer_key"; public static final String OAUTH_APP_CONSUMER_SECRET = "consumer_secret"; public static final String OAUTH_APP_NAME = "oauth_app_name"; public static final String OAUTH_USER_NAME = "oauth_user_name"; public static final String OAUTH_ACCESS_TOKEN_ISSUED = "oauth_access_token_issued"; // Constants to be used by error pages public static final String OAUTH_ERROR_CODE = "oauthErrorCode"; public static final String OAUTH_ERROR_MESSAGE = "oauthErrorMsg"; // Constants for paging in OAuth UI public static final int DEFAULT_ITEMS_PER_PAGE = 10; public static final String OAUTH_ADMIN_CLIENT = "OAuthAdminClient"; public static final String OAUTH_DATA_PAGE_COUNT = "OAuthDataPageCount"; // Constants that are used with the authentication framework public static final String OIDC_LOGGED_IN_USER = "loggedInUser"; public static final String SESSION_DATA_KEY = "sessionDataKey"; public static final String SESSION_DATA_KEY_CONSENT = "sessionDataKeyConsent"; public static final String OAUTH_CACHE_MANAGER = "OAuthCacheManager"; // For storing SAML2 assertion in OAuthTokenReqMgtCtx public static final String OAUTH_SAML2_ASSERTION = "SAML2Assertion"; public static final long UNASSIGNED_VALIDITY_PERIOD = -1L; public static final String ACCESS_TOKEN_STORE_TABLE = "IDN_OAUTH2_ACCESS_TOKEN"; public static final int OAUTH_AUTHZ_CB_HANDLER_DEFAULT_PRIORITY = 1; public static final String DEFAULT_KEY_ALIAS = "Security.KeyStore.KeyAlias"; // Custom grant handler profile constants public static final String OAUTH_SAML2_BEARER_METHOD = "urn:oasis:names:tc:SAML:2.0:cm:bearer"; public static final String OAUTH_SAML1_BEARER_METHOD = "urn:oasis:names:tc:SAML:1.0:cm:bearer"; public static final String OAUTH_SAML2_BEARER_GRANT_ENUM = "SAML20_BEARER"; public static final String OAUTH_IWA_NTLM_GRANT_ENUM = "IWA_NTLM"; public static final String WINDOWS_TOKEN = "windows_token"; // OAuth client authenticator properties public static final String CLIENT_AUTH_CREDENTIAL_VALIDATION = "StrictClientCredentialValidation"; public static final String ACCESS_TOKEN = "accessToken"; public static final String ID_TOKEN = "id_token"; public static final String AUTHZ_CODE = "AuthorizationCode"; //Response types public static final String NONE = "none"; public static class GrantTypes { public static final String IMPLICIT = "implicit"; public static final String TOKEN = "token"; private GrantTypes() { } } public static class OAuthVersions { public static final String VERSION_1A = "OAuth-1.0a"; public static final String VERSION_2 = "OAuth-2.0"; private OAuthVersions(){ } } // OAuth1.0a request parameters public static class OAuth10AParams { public static final String OAUTH_VERSION = "oauth_version"; public static final String OAUTH_NONCE = "oauth_nonce"; public static final String OAUTH_TIMESTAMP = "oauth_timestamp"; public static final String OAUTH_CONSUMER_KEY = "oauth_consumer_key"; public static final String OAUTH_CALLBACK = "oauth_callback"; public static final String OAUTH_SIGNATURE_METHOD = "oauth_signature_method"; public static final String OAUTH_SIGNATURE = "oauth_signature"; public static final String SCOPE = "scope"; public static final String OAUTH_DISPLAY_NAME = "xoauth_displayname"; private OAuth10AParams(){ } } // OAuth2.0 request parameters public static class OAuth20Params { public static final String SCOPE = "scope"; public static final String PROMPT = "prompt"; public static final String NONCE = "nonce"; public static final String DISPLAY = "display"; public static final String ID_TOKEN_HINT = "id_token_hint"; public static final String LOGIN_HINT = "login_hint"; private OAuth20Params(){ } } // OIDC prompt values public static class Prompt { public static final String LOGIN = "login"; public static final String CONSENT = "consent"; public static final String NONE = "none"; public static final String SELECT_ACCOUNT = "select_account"; private Prompt(){ } } // OAuth1.0a endpoints public static class OAuth10AEndpoints { public static final String ACCESS_TOKEN_URL = "/access-token"; public static final String REQUEST_TOKEN_URL = "/request-token"; public static final String AUTHORIZE_TOKEN_URL = "/authorize-token"; private OAuth10AEndpoints(){ } } // OAuth2.0 endpoints public static class OAuth20Endpoints { public static final String OAUTH20_ACCESS_TOKEN_URL = "/token"; public static final String OAUTH20_AUTHORIZE_TOKEN_URL = "/authorize"; private OAuth20Endpoints(){ } } public static class Consent { public static final String DENY = "deny"; public static final String APPROVE = "approve"; public static final String APPROVE_ALWAYS = "approveAlways"; private Consent(){ } } public static class TokenStates { public static final String TOKEN_STATE_ACTIVE = "ACTIVE"; public static final String TOKEN_STATE_REVOKED = "REVOKED"; public static final String TOKEN_STATE_EXPIRED = "EXPIRED"; private TokenStates(){ } } public static class AuthorizationCodeState { public static final String ACTIVE = "ACTIVE"; public static final String EXPIRED = "EXPIRED"; public static final String INACTIVE = "INACTIVE"; private AuthorizationCodeState(){ } } public static class OAuthError { public static class TokenResponse { public static final String UNSUPPORTED_CLIENT_AUTHENTICATION_METHOD = "unsupported_client_authentication_method"; private TokenResponse(){ } } private OAuthError(){ } } public static class Scope { public static final String OPENID = "openid"; public static final String OAUTH2 = "oauth2"; public static final String OIDC = "oidc"; private Scope(){ } } public static class UserType { public static final String APPLICATION = "APPLICATION"; public static final String APPLICATION_USER = "APPLICATION_USER"; private UserType(){ } } private OAuthConstants(){ } }