add lasso_build_authnRequest method

This commit is contained in:
Nicolas Clapies 2004-03-29 13:01:35 +00:00
parent edc345b38c
commit 74a963be6a
2 changed files with 16 additions and 85 deletions

View File

@ -1,79 +1,13 @@
#include <lasso/protocols/single_sign_on_and_federation.h>
xmlChar *lasso_build_url_encoded_message_authnRequest(const char *metadata,
const char *nameIDPolicy,
const char *isPassive,
const char *forceAuthn,
const char *assertionConsumerServiceID,
const char **authnContextClassRefs,
const char **authnContextStatementRefs,
const char *authnContextComparison,
const char *relayState,
const char *proxyCount,
const char **idpList,
const char *consent)
xmlChar *lasso_build_url_encoded_message_authnRequest(LassoNode *request)
{
const char *protocolProfile = "artifact";
LassoNode *request;
xmlChar *authority = "https://idpprovider.com";
xmlChar *query;
// build AuthnRequest class
request = lasso_lib_authn_request_new();
lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request),
(const xmlChar *)lasso_build_unique_id(32));
lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
lassoLibMinorVersion);
lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request),
lasso_get_current_time());
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
lassoLibMajorVersion);
lasso_lib_authn_request_set_providerID(LASSO_LIB_AUTHN_REQUEST(request),
"providerid.com");
if(nameIDPolicy){
lasso_lib_authn_request_set_nameIDPolicy(LASSO_LIB_AUTHN_REQUEST(request), nameIDPolicy);
}
if(isPassive){
lasso_lib_authn_request_set_isPassive(LASSO_LIB_AUTHN_REQUEST(request), isPassive);
}
if(forceAuthn){
lasso_lib_authn_request_set_forceAuthn(LASSO_LIB_AUTHN_REQUEST(request), forceAuthn);
}
if(protocolProfile){
lasso_lib_authn_request_set_protocolProfile(LASSO_LIB_AUTHN_REQUEST(request), protocolProfile);
}
if(assertionConsumerServiceID){
lasso_lib_authn_request_set_assertionConsumerServiceID(LASSO_LIB_AUTHN_REQUEST(request),
assertionConsumerServiceID);
}
if(relayState!=NULL){
lasso_lib_authn_request_set_providerID(LASSO_LIB_AUTHN_REQUEST(request), relayState);
}
if(consent!=NULL){
lasso_lib_authn_request_set_providerID(LASSO_LIB_AUTHN_REQUEST(request), consent);
}
// url-encode the request
//printf("%s\n", lasso_str_sign(lasso_node_url_encode(lareq), xmlSecTransformRsaSha1Id, "rsakey.pem"));
return lasso_node_url_encode(request);
}
LassoNode *lasso_build_authnRequest(const char *providerID,
const char *nameIDPolicy,
const char *isPassive,
@ -102,7 +36,7 @@ LassoNode *lasso_build_authnRequest(const char *providerID,
lassoLibMajorVersion);
lasso_lib_authn_request_set_providerID(LASSO_LIB_AUTHN_REQUEST(request),
"providerid.com");
providerID);
if(nameIDPolicy){
lasso_lib_authn_request_set_nameIDPolicy(LASSO_LIB_AUTHN_REQUEST(request), nameIDPolicy);
@ -116,10 +50,6 @@ LassoNode *lasso_build_authnRequest(const char *providerID,
lasso_lib_authn_request_set_forceAuthn(LASSO_LIB_AUTHN_REQUEST(request), forceAuthn);
}
if(protocolProfile){
lasso_lib_authn_request_set_protocolProfile(LASSO_LIB_AUTHN_REQUEST(request), protocolProfile);
}
if(assertionConsumerServiceID){
lasso_lib_authn_request_set_assertionConsumerServiceID(LASSO_LIB_AUTHN_REQUEST(request),
assertionConsumerServiceID);

View File

@ -3,18 +3,19 @@
#include <lasso/lasso.h>
xmlChar *lasso_build_url_encoded_message_authnRequest(const char *,
const char *,
const char *,
const char *,
const char *,
const char *,
const char **,
const char **,
const char *,
const char *,
const char *,
const char **,
const char *);
xmlChar *lasso_build_url_encoded_message_authnRequest(LassoNode *);
LassoNode *lasso_build_authnRequest(const char *providerID,
const char *nameIDPolicy,
const char *isPassive,
const char *forceAuthn,
const char *assertionConsumerServiceID,
const char **authnContextClassRefs,
const char **authnContextStatementRefs,
const char *authnContextComparison,
const char *relayState,
const char *proxyCount,
const char **idpList,
const char *consent);
#endif