summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 */