add methods lasso_build_full_logoutRequest lasso_build_full_logoutResponse
This commit is contained in:
parent
d121481964
commit
ea716033fd
|
@ -1,65 +1,155 @@
|
|||
#include <lasso/protocols/logout.h>
|
||||
|
||||
LassoNode *lasso_build_full_logoutRequest(const char *requestID,
|
||||
const xmlChar *majorVersion,
|
||||
const xmlChar *minorVersion,
|
||||
const xmlChar *issueInstant,
|
||||
const xmlChar *providerID,
|
||||
LassoNode *nameIdentifier,
|
||||
const xmlChar *sessionIndex,
|
||||
const xmlChar *relayState,
|
||||
const xmlChar *consent)
|
||||
{
|
||||
LassoNode *request;
|
||||
|
||||
request = lasso_lib_logout_request_new();
|
||||
|
||||
if(requestID!=NULL){
|
||||
lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
requestID);
|
||||
}
|
||||
else{
|
||||
lasso_samlp_request_abstract_set_requestID(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
}
|
||||
|
||||
if(majorVersion!=NULL){
|
||||
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
majorVersion);
|
||||
}
|
||||
else{
|
||||
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lassoLibMajorVersion);
|
||||
}
|
||||
|
||||
if(minorVersion!=NULL){
|
||||
lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
minorVersion);
|
||||
}
|
||||
else{
|
||||
lasso_samlp_request_abstract_set_minorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lassoLibMinorVersion);
|
||||
}
|
||||
|
||||
if(issueInstant!=NULL){
|
||||
lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
issueInstant);
|
||||
}
|
||||
else{
|
||||
lasso_samlp_request_abstract_set_issueInstance(LASSO_SAMLP_REQUEST_ABSTRACT(request),
|
||||
lasso_get_current_time());
|
||||
}
|
||||
|
||||
lasso_lib_logout_request_set_providerID(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
providerID);
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
if(relayState){
|
||||
lasso_lib_logout_request_set_relayState(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
relayState);
|
||||
}
|
||||
|
||||
if(consent){
|
||||
lasso_lib_logout_request_set_consent(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
consent);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_logoutRequest(const xmlChar *providerID,
|
||||
LassoNode *nameIdentifier,
|
||||
LassoNode *nameIdentifier,
|
||||
const xmlChar *sessionIndex,
|
||||
const xmlChar *relayState,
|
||||
const xmlChar *consent)
|
||||
{
|
||||
LassoNode *request;
|
||||
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));
|
||||
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_logout_request_set_providerID(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
providerID);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
if(relayState){
|
||||
lasso_lib_logout_request_set_relayState(LASSO_LIB_LOGOUT_REQUEST(request),
|
||||
relayState);
|
||||
}
|
||||
|
||||
if(consent){
|
||||
lasso_lib_logout_request_set_consent(LASSO_LIB_LOGOUT_REQUEST(request), consent);
|
||||
}
|
||||
|
||||
return(request);
|
||||
request = lasso_build_full_logoutRequest(NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
providerID,
|
||||
nameIdentifier,
|
||||
sessionIndex,
|
||||
relayState,
|
||||
consent);
|
||||
return(request);
|
||||
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_logoutResponse(LassoNode *request,
|
||||
const xmlChar *providerID,
|
||||
const xmlChar *statusCodeValue,
|
||||
const xmlChar *relayState)
|
||||
LassoNode *lasso_build_full_logoutResponse(const xmlChar *responseID,
|
||||
const xmlChar *majorVersion,
|
||||
const xmlChar *minorVersion,
|
||||
const xmlChar *issueInstant,
|
||||
const xmlChar *inResponseTo,
|
||||
const xmlChar *recipient,
|
||||
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));
|
||||
lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lassoLibMinorVersion);
|
||||
lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lassoLibMajorVersion);
|
||||
lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lasso_get_current_time());
|
||||
if(responseID!=NULL){
|
||||
lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
responseID);
|
||||
}
|
||||
else{
|
||||
lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
(const xmlChar *)lasso_build_unique_id(32));
|
||||
}
|
||||
|
||||
if(majorVersion!=NULL){
|
||||
lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
majorVersion);
|
||||
}
|
||||
else{
|
||||
lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lassoLibMajorVersion);
|
||||
}
|
||||
|
||||
if(minorVersion!=NULL){
|
||||
lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
minorVersion);
|
||||
}
|
||||
else{
|
||||
lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lassoLibMinorVersion);
|
||||
}
|
||||
|
||||
if(issueInstant!=NULL){
|
||||
lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
issueInstant);
|
||||
}
|
||||
else{
|
||||
lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
lasso_get_current_time());
|
||||
}
|
||||
|
||||
lasso_samlp_response_abstract_set_inResponseTo(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
inResponseTo);
|
||||
|
||||
lasso_samlp_response_abstract_set_recipient(LASSO_SAMLP_RESPONSE_ABSTRACT(response),
|
||||
recipient);
|
||||
|
||||
lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response),
|
||||
providerID);
|
||||
|
@ -77,3 +167,23 @@ LassoNode *lasso_build_logoutResponse(LassoNode *request,
|
|||
|
||||
return(response);
|
||||
}
|
||||
|
||||
LassoNode *lasso_build_logoutResponse(LassoNode *request,
|
||||
const xmlChar *providerID,
|
||||
const xmlChar *statusCodeValue,
|
||||
const xmlChar *relayState)
|
||||
{
|
||||
LassoNode *response;
|
||||
|
||||
response = lasso_build_full_logoutResponse(NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
providerID,
|
||||
statusCodeValue,
|
||||
relayState);
|
||||
return(response);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,15 +3,35 @@
|
|||
|
||||
#include <lasso/lasso.h>
|
||||
|
||||
LassoNode *lasso_build_full_logoutRequest(const char *requestID,
|
||||
const xmlChar *majorVersion,
|
||||
const xmlChar *minorVersion,
|
||||
const xmlChar *issueInstant,
|
||||
const xmlChar *providerID,
|
||||
LassoNode *nameIdentifier,
|
||||
const xmlChar *sessionIndex,
|
||||
const xmlChar *relayState,
|
||||
const xmlChar *consent);
|
||||
|
||||
LassoNode *lasso_build_logoutRequest(const xmlChar *providerID,
|
||||
LassoNode *nameIdentifier,
|
||||
const xmlChar *sessionIndex,
|
||||
const xmlChar *relayState,
|
||||
const xmlChar *consent);
|
||||
|
||||
LassoNode *lasso_build_full_logoutResponse(const xmlChar *responseID,
|
||||
const xmlChar *majorVersion,
|
||||
const xmlChar *minorVersion,
|
||||
const xmlChar *issueInstant,
|
||||
const xmlChar *inResponseTo,
|
||||
const xmlChar *recipient,
|
||||
const xmlChar *providerID,
|
||||
const xmlChar *statusCodeValue,
|
||||
const xmlChar *relayState);
|
||||
|
||||
LassoNode *lasso_build_logoutResponse(LassoNode *request,
|
||||
const xmlChar *providerID,
|
||||
const xmlChar *codeValue,
|
||||
const xmlChar *statusCodeValue,
|
||||
const xmlChar *relayState);
|
||||
|
||||
#endif /* __LOGOUT_H__ */
|
||||
|
|
Loading…
Reference in New Issue