add function lasso_build_authnRequest_from_query

This commit is contained in:
Nicolas Clapies 2004-04-01 15:29:34 +00:00
parent 98c97ca26f
commit 936fcf5056
2 changed files with 49 additions and 0 deletions

View File

@ -25,6 +25,50 @@
#include <lasso/protocols/single_sign_on_and_federation.h>
LassoNode *lasso_build_authnRequest_from_query(gboolean verifySignature,
const xmlChar *query,
const xmlChar *rsapub,
const xmlChar *rsakey)
{
LassoNode *req;
GData *gd;
int result;
if(verifySignature==TRUE){
result = lasso_str_verify(query, rsapub, rsakey);
if(result==-1){
return(NULL);
}
}
gd = lasso_query_to_dict(query);
if(gd!=NULL){
req = lasso_build_full_authnRequest(lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "RequestID"), 0),
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "MajorVersion"), 0),
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "MinorVersion"), 0),
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "IssueInstance"), 0),
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "ProviderID"), 0),
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "NameIDPolicy"), 0),
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "ForceAuthn"), 0),
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "IsPassive"), 0),
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd,
"AssertionConsumerServiceID"),
0),
NULL, // AuthnContextClassRef
NULL, // AuthnContextStatementRef
NULL, // AuthnContextComparison
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "RelayState"), 0),
NULL, // ProxyCount
NULL, // IDPList
lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "consent"), 0));
g_datalist_clear(&gd);
return(req);
}
return(NULL);
}
LassoNode *lasso_build_authnRequest(const xmlChar *providerID,
const xmlChar *nameIDPolicy,
const xmlChar *forceAuthn,

View File

@ -31,6 +31,11 @@ extern "C" {
#include <lasso/lasso.h>
LassoNode *lasso_build_authnRequest_from_query(gboolean verifySignature,
const xmlChar *query,
const xmlChar *rsapub,
const xmlChar *rsakey);
LassoNode *lasso_build_authnRequest(const xmlChar *providerID,
const xmlChar *nameIDPolicy,
const xmlChar *forceAuthn,