summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-09-29 13:20:31 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-09-29 13:20:31 +0000
commitaf7feb46702a2d7bb30deb0f354bfadee9c27a6b (patch)
tree4413b7629a1a7932dd11da5fa2b3c55dda1b9bc0
parent1fb7750337bff7d7ad638621cc38c3cf2e1ffe54 (diff)
downloadlasso-af7feb46702a2d7bb30deb0f354bfadee9c27a6b.tar.gz
lasso-af7feb46702a2d7bb30deb0f354bfadee9c27a6b.tar.xz
lasso-af7feb46702a2d7bb30deb0f354bfadee9c27a6b.zip
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.
-rw-r--r--lasso/id-ff/provider.c13
-rw-r--r--lasso/id-ff/provider.h2
2 files changed, 15 insertions, 0 deletions
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 */