Oracle® Fusion Middleware C++ API Reference for Oracle Coherence
12c (12.1.3.0.0)

E47891-01

coherence/security/IdentityAsserter.hpp

00001 /*
00002 * IdentityAsserter.hpp
00003 *
00004 * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
00005 *
00006 * Oracle is a registered trademarks of Oracle Corporation and/or its
00007 * affiliates.
00008 *
00009 * This software is the confidential and proprietary information of Oracle
00010 * Corporation. You shall not disclose such confidential and proprietary
00011 * information and shall use it only in accordance with the terms of the
00012 * license agreement you entered into with Oracle.
00013 *
00014 * This notice may not be removed or altered.
00015 */
00016 #ifndef COH_IDENTITY_ASSERTER_HPP
00017 #define COH_IDENTITY_ASSERTER_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/net/Service.hpp"
00022 #include "coherence/security/auth/Subject.hpp"
00023 
00024 COH_OPEN_NAMESPACE2(coherence,security)
00025 
00026 using coherence::security::auth::Subject;
00027 using coherence::net::Service;
00028 
00029 
00030 /**
00031 * IdentityAsserter validates a token in order to establish a user's identity.
00032 * The token is an identity assertion, a statement that asserts an identity.
00033 * <p>
00034 * A token is opaque to Coherence. It could be a standard type such as a SAML
00035 * Assertion or a proprietary type.
00036 *
00037 * @author dag 2009.10.30
00038 *
00039 * @since Coherence 3.6
00040 */
00041 class COH_EXPORT IdentityAsserter
00042     : public interface_spec<IdentityAsserter>
00043     {
00044     // ----- IdentityAsserter interface -------------------------------------
00045 
00046     public:
00047         /**
00048         * Asserts an identity based on a token-based identity assertion.
00049         *
00050         * @param oToken    the token that asserts identity.
00051         * @param vService  the Service asserting the identity token
00052         *
00053         * @return a Subject representing the identity.
00054         *
00055         * @throws SecurityException if the identity assertion fails.
00056         *
00057         * @since Coherence 3.7 added vService param which intentionally breaks
00058         *        compatibility with Coherence 3.6
00059         */
00060         virtual Subject::View assertIdentity(Object::View vToken,
00061                 Service::View vService) const = 0;
00062     };
00063 
00064 COH_CLOSE_NAMESPACE2
00065 
00066 #endif // COH_IDENTITY_ASSERTER_HPP
Copyright © 2000, 2014, Oracle and/or its affiliates. All rights reserved.