diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-06-12 00:43:09 +0000 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-06-12 00:43:09 +0000 |
| commit | 601aadbf8f429d8f1429a77e34e6c4f2cc67db93 (patch) | |
| tree | 875bf315ecb903eb0ce6bb29bec43690522bc9da | |
| parent | 94377b822f366650f6c69a90e09e18b9148ec637 (diff) | |
| download | lasso-601aadbf8f429d8f1429a77e34e6c4f2cc67db93.tar.gz lasso-601aadbf8f429d8f1429a77e34e6c4f2cc67db93.tar.xz lasso-601aadbf8f429d8f1429a77e34e6c4f2cc67db93.zip | |
SAMLv2: in lasso_assertion_query_build_request_msg setup nameid
* lasso_profile_get_nameIdentifier does not return profile->nameIdentifier
,
so we first try to use profile->nameIdentifier and if it is NULL we use
lasso_profile_get_nameIdentifier.
| -rw-r--r-- | lasso/saml-2.0/assertion_query.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lasso/saml-2.0/assertion_query.c b/lasso/saml-2.0/assertion_query.c index 21aafb97..3b15d484 100644 --- a/lasso/saml-2.0/assertion_query.c +++ b/lasso/saml-2.0/assertion_query.c @@ -201,11 +201,15 @@ lasso_assertion_query_build_request_msg(LassoAssertionQuery *assertion_query) lasso_assign_new_gobject(subject_query->Subject, lasso_saml2_subject_new()); } + /* verify that there is a NameID */ if ( (! LASSO_IS_SAML2_NAME_ID(subject_query->Subject->NameID) && ! LASSO_IS_SAML2_ENCRYPTED_ELEMENT(subject_query->Subject->EncryptedID))) { - - nameID = (LassoSaml2NameID*)lasso_profile_get_nameIdentifier(profile); + /* if not try to get the local profile one */ + nameID = (LassoSaml2NameID*)profile->nameIdentifier; + if (! LASSO_IS_SAML2_NAME_ID(nameID)) + nameID = (LassoSaml2NameID*)lasso_profile_get_nameIdentifier(profile); + /* if none found, try to get the identity object or session object one */ if (! LASSO_IS_SAML2_NAME_ID(nameID)) return LASSO_PROFILE_ERROR_MISSING_NAME_IDENTIFIER; lasso_assign_gobject(subject_query->Subject->NameID, nameID); |
