SAML 2.0 Helper: add lasso_saml2_assertion_set_one_time_use

This commit is contained in:
Benjamin Dauvergne 2010-05-01 05:40:38 +00:00
parent e05a1d3077
commit ba68d3a7fd
3 changed files with 28 additions and 1 deletions

View File

@ -3023,6 +3023,7 @@ lasso_saml2_assertion_add_attribute_with_node
lasso_saml2_assertion_get_in_response_to
lasso_saml2_assertion_decrypt_subject
lasso_saml2_assertion_has_one_time_use
lasso_saml2_assertion_set_one_time_use
<SUBSECTION Standard>
LASSO_SAML2_ASSERTION
LASSO_IS_SAML2_ASSERTION

View File

@ -310,8 +310,31 @@ lasso_saml2_assertion_set_basic_conditions(LassoSaml2Assertion *saml2_assertion,
saml2_conditions = lasso_saml2_assertion_get_conditions (saml2_assertion, TRUE);
set_notbefore_and_notonorafter (saml2_assertion->Conditions, tolerance, length);
lasso_saml2_assertion_set_one_time_use(saml2_assertion, one_time_use);
}
/**
* lasso_saml2_assertion_set_one_time_use:
* @saml2_assertion: a #LassoSaml2Assertion object
* @one_time_use: is this assertion to be used one time only ?
*
* Set the one time use condition on this assertion.
*/
void
lasso_saml2_assertion_set_one_time_use(LassoSaml2Assertion *saml2_assertion,
gboolean one_time_use)
{
LassoSaml2Conditions * saml2_conditions;
g_return_if_fail (LASSO_IS_SAML2_ASSERTION (saml2_assertion));
saml2_conditions = lasso_saml2_assertion_get_conditions(saml2_assertion, TRUE);
lasso_list_add_new_gobject (saml2_conditions->OneTimeUse, lasso_saml2_one_time_use_new());
if (one_time_use) {
lasso_list_add_new_gobject (saml2_conditions->OneTimeUse, lasso_saml2_one_time_use_new());
lasso_list_add_new_gobject(saml2_conditions->OneTimeUse,
lasso_saml2_one_time_use_new());
} else {
lasso_release_list_of_gobjects(saml2_conditions->OneTimeUse);
}
}

View File

@ -142,6 +142,9 @@ LASSO_EXPORT LassoSaml2AssertionValidationState lasso_saml2_assertion_allows_pro
LASSO_EXPORT LassoSaml2AssertionValidationState lasso_saml2_assertion_allows_proxying_to(
LassoSaml2Assertion *saml2_assertion, const char *audience);
LASSO_EXPORT void lasso_saml2_assertion_set_one_time_use(LassoSaml2Assertion *saml2_assertion,
gboolean one_time_use);
#ifdef __cplusplus
}
#endif /* __cplusplus */