fix type parameters from const char to const xmlChar. add function to build response
This commit is contained in:
parent
54aaf688c6
commit
ad962a15da
|
@ -1,28 +1,23 @@
|
|||
#include <lasso/protocols/federation_termination_notification.h>
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_federationTerminationNotification(LassoNode *request)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_federationTerminationNotification(const char *metadata,
|
||||
LassoNode *nameIdentifier,
|
||||
const char *consent)
|
||||
LassoNode *lasso_build_federationTerminationNotification(const xmlChar *providerID,
|
||||
LassoNode *nameIdentifier,
|
||||
const xmlChar *consent)
|
||||
{
|
||||
LassoNode *notification;
|
||||
|
||||
notification = lasso_lib_federation_termination_notification_new();
|
||||
|
||||
lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(notification),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(notification),
|
||||
lassoLibMinorVersion);
|
||||
lassoLibMinorVersion);
|
||||
lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(notification),
|
||||
lasso_get_current_time());
|
||||
lasso_get_current_time());
|
||||
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(notification),
|
||||
lassoLibMajorVersion);
|
||||
lassoLibMajorVersion);
|
||||
|
||||
lasso_lib_federation_termination_notification_set_providerID(LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(notification), "badproviderid.com"); // FIXME
|
||||
lasso_lib_federation_termination_notification_set_providerID(LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(notification), providerID);
|
||||
|
||||
lasso_lib_federation_termination_notification_set_nameIdentifier(LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(notification), nameIdentifier);
|
||||
|
||||
|
|
|
@ -28,10 +28,8 @@ e Place, Suite 330, Boston, MA 02111-1307 USA
|
|||
|
||||
#include <lasso/lasso.h>
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_federationTerminationNotification(LassoNode *);
|
||||
|
||||
LassoNode *lasso_build_federationTerminationNotification(const char *metadata,
|
||||
LassoNode *nameIdentifier,
|
||||
const char *consent);
|
||||
LassoNode *lasso_build_federationTerminationNotification(const xmlChar *providerID,
|
||||
LassoNode *nameIdentifier,
|
||||
const xmlChar *consent);
|
||||
|
||||
#endif /* __FEDERATION_TERMINATION_NOTIFICATION_H__ */
|
||||
|
|
|
@ -1,41 +1,38 @@
|
|||
#include <lasso/protocols/logout.h>
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_logoutRequest(LassoNode *request)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_logoutRequest(const char *metadata,
|
||||
LassoNode *nameIdentifier,
|
||||
const char *sessionIndex,
|
||||
const char *relayState,
|
||||
const char *consent)
|
||||
LassoNode *lasso_build_logoutRequest(const xmlChar *providerID,
|
||||
LassoNode *nameIdentifier,
|
||||
const xmlChar *sessionIndex,
|
||||
const xmlChar *relayState,
|
||||
const xmlChar *consent)
|
||||
{
|
||||
LassoNode *request;
|
||||
|
||||
request = lasso_lib_logout_request_new();
|
||||
|
||||
lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lassoLibMinorVersion);
|
||||
lassoLibMinorVersion);
|
||||
lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lasso_get_current_time());
|
||||
lasso_get_current_time());
|
||||
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lassoLibMajorVersion);
|
||||
lassoLibMajorVersion);
|
||||
|
||||
lasso_lib_logout_request_set_providerID(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
"badproviderid.com"); // FIXME
|
||||
providerID);
|
||||
|
||||
lasso_lib_logout_request_set_nameIdentifier(LASSO_LIB_LOGOUT_REQUEST(request), nameIdentifier);
|
||||
lasso_lib_logout_request_set_nameIdentifier(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
nameIdentifier);
|
||||
|
||||
if(sessionIndex){
|
||||
lasso_lib_logout_request_set_sessionIndex(LASSO_LIB_LOGOUT_REQUEST(request), sessionIndex);
|
||||
lasso_lib_logout_request_set_sessionIndex(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
sessionIndex);
|
||||
}
|
||||
|
||||
if(relayState){
|
||||
lasso_lib_logout_request_set_relayState(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
relayState);
|
||||
relayState);
|
||||
}
|
||||
|
||||
if(consent){
|
||||
|
@ -46,31 +43,26 @@ LassoNode *lasso_build_logoutRequest(const char *metadata,
|
|||
|
||||
}
|
||||
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_logoutResponse(LassoNode *response)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_logoutResponse(LassoNode *request,
|
||||
const char *statusCodeValue,
|
||||
const char *relayState)
|
||||
const xmlChar *providerID,
|
||||
const xmlChar *statusCodeValue,
|
||||
const xmlChar *relayState)
|
||||
{
|
||||
LassoNode *response, *ss, *ssc;
|
||||
|
||||
response = lasso_lib_logout_response_new();
|
||||
|
||||
lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lassoLibMinorVersion);
|
||||
lassoLibMinorVersion);
|
||||
lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lassoLibMajorVersion);
|
||||
lassoLibMajorVersion);
|
||||
lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lasso_get_current_time());
|
||||
lasso_get_current_time());
|
||||
|
||||
lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response),
|
||||
"badproviderid.com"); // FIXME
|
||||
providerID);
|
||||
|
||||
ss = lasso_samlp_status_new();
|
||||
ssc = lasso_samlp_status_code_new();
|
||||
|
@ -79,7 +71,8 @@ LassoNode *lasso_build_logoutResponse(LassoNode *request,
|
|||
lasso_samlp_response_set_status(LASSO_SAMLP_RESPONSE(response), LASSO_SAMLP_STATUS(ss));
|
||||
|
||||
if(relayState){
|
||||
lasso_lib_status_response_set_relayState(LASSO_LIB_STATUS_RESPONSE(response), relayState);
|
||||
lasso_lib_status_response_set_relayState(LASSO_LIB_STATUS_RESPONSE(response),
|
||||
relayState);
|
||||
}
|
||||
|
||||
return(response);
|
||||
|
|
|
@ -3,18 +3,15 @@
|
|||
|
||||
#include <lasso/lasso.h>
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_logoutRequest(LassoNode *);
|
||||
LassoNode *lasso_build_logoutRequest(const xmlChar *providerID,
|
||||
LassoNode *nameIdentifier,
|
||||
const xmlChar *sessionIndex,
|
||||
const xmlChar *relayState,
|
||||
const xmlChar *consent);
|
||||
|
||||
LassoNode *lasso_build_logoutRequest(const char *metadata,
|
||||
LassoNode *nameIdentifier,
|
||||
const char *sessionIndex,
|
||||
const char *relayState,
|
||||
const char *consent);
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_logoutResponse(LassoNode *);
|
||||
|
||||
LassoNode *lasso_build_logoutResponse(LassoNode *request,
|
||||
const char*codeValue,
|
||||
const char*relayState);
|
||||
LassoNode *lasso_build_logoutResponse(LassoNode *request,
|
||||
const xmlChar *providerID,
|
||||
const xmlChar *codeValue,
|
||||
const xmlChar *relayState);
|
||||
|
||||
#endif /* __LOGOUT_H__ */
|
||||
|
|
|
@ -1,78 +1,67 @@
|
|||
#include <lasso/protocols/register_name_identifier.h>
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_registerNameIdentifierRequest(LassoNode *request)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_registerNameIdentifierRequest(const char *metadata,
|
||||
LassoNode *idpProvidedNameIdentifer,
|
||||
LassoNode *spProvidedNameIdentifier,
|
||||
LassoNode *oldProvidedNameIdentifier,
|
||||
const char *relayState)
|
||||
LassoNode *lasso_build_registerNameIdentifierRequest(const xmlChar *providerID,
|
||||
LassoNode *idpProvidedNameIdentifer,
|
||||
LassoNode *spProvidedNameIdentifier,
|
||||
LassoNode *oldProvidedNameIdentifier,
|
||||
const xmlChar *relayState)
|
||||
{
|
||||
LassoNode *request;
|
||||
|
||||
|
||||
request = lasso_lib_register_name_identifier_request_new();
|
||||
|
||||
|
||||
lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lassoLibMinorVersion);
|
||||
lassoLibMinorVersion);
|
||||
lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lasso_get_current_time());
|
||||
lasso_get_current_time());
|
||||
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lassoLibMajorVersion);
|
||||
lassoLibMajorVersion);
|
||||
|
||||
lasso_lib_register_name_identifier_request_set_providerID(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(
|
||||
request),
|
||||
"badproviderid.com"); // FIXME
|
||||
lasso_lib_register_name_identifier_request_set_providerID(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), providerID);
|
||||
|
||||
lasso_lib_register_name_identifier_request_set_idp_provided_name_identifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), idpProvidedNameIdentifer);
|
||||
|
||||
|
||||
lasso_lib_register_name_identifier_request_set_sp_provided_name_identifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), spProvidedNameIdentifier);
|
||||
|
||||
lasso_lib_register_name_identifier_request_set_old_provided_name_identifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), oldProvidedNameIdentifier);
|
||||
|
||||
|
||||
lasso_lib_register_name_identifier_request_set_old_provided_name_identifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), oldProvidedNameIdentifier);
|
||||
|
||||
if(relayState){
|
||||
lasso_lib_register_name_identifier_request_set_relayState(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), relayState);
|
||||
lasso_lib_register_name_identifier_request_set_relayState(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), relayState);
|
||||
}
|
||||
|
||||
|
||||
return(request);
|
||||
|
||||
}
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_registerNameIdentifierResponse(LassoNode *response)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_registerNameIdentifierResponse(LassoNode *response,
|
||||
const char *statusCodeValue,
|
||||
const char *relayState)
|
||||
LassoNode *lasso_build_registerNameIdentifierResponse(LassoNode *request,
|
||||
const xmlChar *providerID,
|
||||
const xmlChar *statusCodeValue,
|
||||
const xmlChar *relayState)
|
||||
{
|
||||
LassoNode *response, *ss, *ssc;
|
||||
|
||||
response = lasso_lib_register_name_identifier_response_new();
|
||||
|
||||
lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lassoLibMinorVersion);
|
||||
lassoLibMinorVersion);
|
||||
lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lassoLibMajorVersion);
|
||||
lassoLibMajorVersion);
|
||||
lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lasso_get_current_time());
|
||||
|
||||
lasso_get_current_time());
|
||||
|
||||
lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response),
|
||||
"badproviderid.com"); // FIXME
|
||||
|
||||
providerID);
|
||||
|
||||
ss = lasso_samlp_status_new();
|
||||
ssc = lasso_samlp_status_code_new();
|
||||
lasso_samlp_status_code_set_value(LASSO_SAMLP_STATUS_CODE(ssc), statusCodeValue);
|
||||
lasso_samlp_status_set_statusCode(LASSO_SAMLP_STATUS(ss), LASSO_SAMLP_STATUS_CODE(ssc));
|
||||
lasso_samlp_response_set_status(LASSO_SAMLP_RESPONSE(response), LASSO_SAMLP_STATUS(ss));
|
||||
|
||||
|
||||
if(relayState){
|
||||
lasso_lib_status_response_set_relayState(LASSO_LIB_STATUS_RESPONSE(response), relayState);
|
||||
}
|
||||
|
|
|
@ -3,19 +3,15 @@
|
|||
|
||||
#include <lasso/lasso.h>
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_registerNameIdentifierRequest(LassoNode *);
|
||||
|
||||
LassoNode *lasso_build_registerNameIdentifierRequest(const char *metadata,
|
||||
LassoNode *idpProvidedNameIdentifer,
|
||||
LassoNode *spProvidedNameIdentifier,
|
||||
LassoNode *oldProvidedNameIdentifier,
|
||||
const char *relayState);
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_registerNameIdentifierResponse(LassoNode *);
|
||||
|
||||
LassoNode *lasso_build_registerNameIdentifierResponse(LassoNode *request,
|
||||
const char*codeValue,
|
||||
const char*relayState);
|
||||
LassoNode *lasso_build_registerNameIdentifierRequest(const xmlChar *providerID,
|
||||
LassoNode *idpProvidedNameIdentifer,
|
||||
LassoNode *spProvidedNameIdentifier,
|
||||
LassoNode *oldProvidedNameIdentifier,
|
||||
const xmlChar *relayState);
|
||||
|
||||
LassoNode *lasso_build_registerNameIdentifierResponse(LassoNode *request,
|
||||
const xmlChar *providerID,
|
||||
const xmlChar *codeValue,
|
||||
const xmlChar *relayState);
|
||||
|
||||
#endif /* __REGISTER_NAME_IDENTIFIER_H__ */
|
||||
|
|
|
@ -1,11 +1,5 @@
|
|||
#include <lasso/protocols/single_sign_on_and_federation.h>
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_authnRequest(LassoNode *request)
|
||||
{
|
||||
xmlChar *authority = "https://idpprovider.com";
|
||||
xmlChar *query;
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_authnRequest(const xmlChar *providerID,
|
||||
const xmlChar *nameIDPolicy,
|
||||
const xmlChar *isPassive,
|
||||
|
@ -20,7 +14,7 @@ LassoNode *lasso_build_authnRequest(const xmlChar *providerID,
|
|||
const xmlChar *consent)
|
||||
{
|
||||
LassoNode *request;
|
||||
|
||||
|
||||
// build AuthnRequest class
|
||||
request = lasso_lib_authn_request_new();
|
||||
|
||||
|
@ -32,34 +26,73 @@ LassoNode *lasso_build_authnRequest(const xmlChar *providerID,
|
|||
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);
|
||||
|
||||
|
||||
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(assertionConsumerServiceID){
|
||||
lasso_lib_authn_request_set_assertionConsumerServiceID(LASSO_LIB_AUTHN_REQUEST(request),
|
||||
assertionConsumerServiceID);
|
||||
}
|
||||
|
||||
|
||||
if(relayState!=NULL){
|
||||
lasso_lib_authn_request_set_relayState(LASSO_LIB_AUTHN_REQUEST(request), relayState);
|
||||
}
|
||||
|
||||
|
||||
if(consent!=NULL){
|
||||
lasso_lib_authn_request_set_consent(LASSO_LIB_AUTHN_REQUEST(request), consent);
|
||||
}
|
||||
|
||||
return(request);
|
||||
}
|
||||
|
||||
|
||||
LassoNode *lasso_build_authnResponse(LassoNode *request,
|
||||
const xmlChar *providerID)
|
||||
{
|
||||
LassoNode *response;
|
||||
|
||||
response = lasso_lib_authn_response_new();
|
||||
|
||||
lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(response),
|
||||
lassoLibMajorVersion);
|
||||
lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(response),
|
||||
lassoLibMinorVersion);
|
||||
lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(response),
|
||||
lasso_get_current_time());
|
||||
|
||||
return(response);
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_response(LassoNode *request,
|
||||
const xmlChar *providerID)
|
||||
{
|
||||
LassoNode *response;
|
||||
|
||||
response = lasso_samlp_response_new();
|
||||
|
||||
lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(response),
|
||||
lassoSamlMajorVersion);
|
||||
lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(response),
|
||||
lassoSamlMinorVersion);
|
||||
lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(response),
|
||||
lasso_get_current_time());
|
||||
|
||||
return(response);
|
||||
}
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
#define SINGLE_SIGN_ON_AND_FEDERATION_H
|
||||
|
||||
#include <lasso/lasso.h>
|
||||
|
||||
xmlChar *lasso_build_url_encoded_message_authnRequest(LassoNode *);
|
||||
#include <glib.h>
|
||||
|
||||
LassoNode *lasso_build_authnRequest(const xmlChar *providerID,
|
||||
const xmlChar *nameIDPolicy,
|
||||
|
@ -18,4 +17,9 @@ LassoNode *lasso_build_authnRequest(const xmlChar *providerID,
|
|||
const xmlChar **idpList,
|
||||
const xmlChar *consent);
|
||||
|
||||
LassoNode *lasso_build_authnResponse(LassoNode *request,
|
||||
const xmlChar *providerID);
|
||||
|
||||
LassoNode *lasso_build_response(LassoNode *request,
|
||||
const xmlChar *providerID);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue