From af7feb46702a2d7bb30deb0f354bfadee9c27a6b Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Tue, 29 Sep 2009 13:20:31 +0000 Subject: Add method to Provider to retrieve default NameIDFormat * lasso/id-ff/provider.c lasso/id-ff/provider.h: add lasso_provider_get_default_name_id_format, which returns the firs listed NameIDFormat from the SAML 2.0 metadatas of the provider. --- lasso/id-ff/provider.c | 13 +++++++++++++ lasso/id-ff/provider.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index 4aa9cae1..8a1f9dd2 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -1290,3 +1290,16 @@ lasso_provider_verify_query_signature(LassoProvider *provider, const char *messa return lasso_query_verify_signature(message, provider_public_key); } +/** + * lasso_provider_get_default_name_id_format: + * @provider: a #LassoProvider object + * + * If the provider has a list of supported name id formats in its metadatas, return the first one. + * + * Return value: a NameIDFormat URI or NULL, the returned value must be freed by the caller. + */ +gchar* +lasso_provider_get_default_name_id_format(const LassoProvider *provider) +{ + return lasso_provider_get_metadata_one(provider, "NameIDFormat"); +} diff --git a/lasso/id-ff/provider.h b/lasso/id-ff/provider.h index bf61d2e6..12cad15a 100644 --- a/lasso/id-ff/provider.h +++ b/lasso/id-ff/provider.h @@ -202,6 +202,8 @@ LASSO_EXPORT void lasso_provider_set_encryption_mode(LassoProvider *provider, LASSO_EXPORT void lasso_provider_set_encryption_sym_key_type(LassoProvider *provider, LassoEncryptionSymKeyType encryption_sym_key_type); +LASSO_EXPORT gchar* lasso_provider_get_default_name_id_format(const LassoProvider *provider); + #ifdef __cplusplus } #endif /* __cplusplus */ -- cgit