include/trust_sts_client.h (108 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF 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. */ #ifndef TRUST_STS_CLIENT #define TRUST_STS_CLIENT /** * @file trust_sts_client.h * @brief contains the specific sts client interface */ #include <stdio.h> #include <stdlib.h> #include <axiom.h> #include <axutil_utils.h> #include <axis2_client.h> #include <rp_includes.h> #include <rp_secpolicy.h> #include <neethi_policy.h> #include <neethi_util.h> #include <rampart_util.h> #include <trust_constants.h> #include <trust_util.h> #include <trust_policy_util.h> #include <trust_token.h> #include <rampart_config.h> #include <trust_rst.h> #include <trust_rstr.h> #include <trust_context.h> #ifdef __cplusplus extern "C" { #endif typedef struct trust_sts_client trust_sts_client_t; AXIS2_EXTERN trust_sts_client_t *AXIS2_CALL trust_sts_client_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL trust_sts_client_free( trust_sts_client_t * sts_client, const axutil_env_t * env); /*Send RST to the specified STS/IP. RST Node that is built from RST_Context should be passed*/ AXIS2_EXTERN void AXIS2_CALL trust_sts_client_request_security_token( trust_sts_client_t * sts_client, const axutil_env_t * env, trust_context_t *trust_context); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_sts_client_process_policies( trust_sts_client_t * sts_client, const axutil_env_t * env, neethi_policy_t * issuer_policy, neethi_policy_t * service_policy); AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL trust_sts_client_get_svc_client( trust_sts_client_t * sts_client, const axutil_env_t * env, axis2_char_t * action, axis2_char_t * address_version, axis2_bool_t is_soap11); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_sts_client_set_issuer_address( trust_sts_client_t * sts_client, const axutil_env_t * env, axis2_char_t * address); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_sts_client_set_home_dir( trust_sts_client_t * sts_client, const axutil_env_t * env, axis2_char_t * directory); AXIS2_EXTERN oxs_buffer_t* AXIS2_CALL trust_sts_client_request_security_token_using_policy( trust_sts_client_t * sts_client, const axutil_env_t * env, trust_context_t *trust_context, neethi_policy_t *issuer_policy, axis2_char_t *address_version, axis2_bool_t is_soap11, rampart_context_t *rampart_context); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_sts_client_set_issuer_policy_location( trust_sts_client_t * sts_client, const axutil_env_t * env, axis2_char_t * file_path); AXIS2_EXTERN axis2_char_t *AXIS2_CALL trust_sts_client_get_issuer_policy_location( trust_sts_client_t * sts_client, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL trust_sts_client_get_service_policy_location( trust_sts_client_t * sts_client, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_sts_client_set_service_policy_location( trust_sts_client_t * sts_client, const axutil_env_t * env, axis2_char_t * file_path); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_sts_client_set_auth_info( trust_sts_client_t * sts_client, const axutil_env_t * env, axis2_char_t *username, axis2_char_t *password, axis2_char_t * auth_type); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_sts_client_set_issued_token( trust_sts_client_t * sts_client, const axutil_env_t * env, rampart_saml_token_t *saml_token); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_sts_client_set_issued_token_func( trust_sts_client_t * sts_client, const axutil_env_t * env, issued_token_callback_func issue_token_func); #ifdef __cplusplus } #endif #endif /*TRUST_STS_CLIENT_H */