diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2009-10-30 14:47:36 +0000 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2009-10-30 14:47:36 +0000 |
| commit | 3c9e4965dd9ce072580f0cb58a0ad11980f9d8bd (patch) | |
| tree | cd562682a501a94924484173f4f137dbdabf4599 /lasso/id-ff/provider.c | |
| parent | 81d3b72efbf25d1e37fe13fbc58028d4d98cb6d9 (diff) | |
| download | lasso-3c9e4965dd9ce072580f0cb58a0ad11980f9d8bd.tar.gz lasso-3c9e4965dd9ce072580f0cb58a0ad11980f9d8bd.tar.xz lasso-3c9e4965dd9ce072580f0cb58a0ad11980f9d8bd.zip | |
Core: factorize code to obtain a SPNameQualifier
* lasso/id-ff/provider.c lasso/id-ff/provider.h:
add a method giving the SPNameQualifier for a provider (its entity id
or its affiliation id).
* lasso/id-ff/profile.c:
* lasso/saml-2.0/login.c:
update use sites.
Diffstat (limited to 'lasso/id-ff/provider.c')
| -rw-r--r-- | lasso/id-ff/provider.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index 8b172ec3..fc25394e 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -1303,3 +1303,34 @@ lasso_provider_get_default_name_id_format(const LassoProvider *provider) { return lasso_provider_get_metadata_one(provider, "NameIDFormat"); } + +/** + * lasso_provider_get_sp_name_qualifier: + * @provider: a #LassoPRovider object + * + * Return the entityID to use for qualifying NameIdentifier. + * + * Return value:(transfer none): a private string or NULL. Do not keep a reference on this string or + * free it. + */ +char* +lasso_provider_get_sp_name_qualifier(LassoProvider *provider) +{ + char *sp_name_qualifier; + + g_return_val_if_fail(LASSO_IS_PROVIDER(provider), NULL); + /* should not happen ! */ + g_return_val_if_fail(provider->private_data != NULL, NULL); + + if (provider->private_data->affiliation_id) { + sp_name_qualifier = provider->private_data->affiliation_id; + } else { + sp_name_qualifier = provider->ProviderID; + } + + if (sp_name_qualifier) { + return g_strdup(sp_name_qualifier); + } else { + return NULL; + } +} |
