Removed obsolete logout method load_from_dump.
Upgraded some residual calls to login_new & logout_new. Updated Java binding. Java unit test works (and C too, but Python still doesn't).
This commit is contained in:
parent
8d1bd57755
commit
db051a1a73
|
@ -27,19 +27,12 @@
|
|||
#include <com_entrouvert_lasso_LassoLogin.h>
|
||||
|
||||
JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogin_init
|
||||
(JNIEnv * env, jobject this, jobject _server,
|
||||
jobject _user){
|
||||
(JNIEnv * env, jobject this, jobject _server){
|
||||
LassoLogin *login;
|
||||
LassoServer* server;
|
||||
LassoUser* user = NULL;
|
||||
|
||||
server = (LassoServer*)getCObject(env, _server);
|
||||
if(_user != NULL){
|
||||
user = (LassoUser*)getCObject(env, _user);
|
||||
}
|
||||
|
||||
login = LASSO_LOGIN(lasso_login_new(server, user));
|
||||
|
||||
login = LASSO_LOGIN(lasso_login_new(server));
|
||||
storeCObject(env, this, login);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,16 +28,12 @@
|
|||
#include <lasso/lasso.h>
|
||||
|
||||
JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogout_init
|
||||
(JNIEnv * env, jobject this, jint _providerType, jobject _server, jobject _user){
|
||||
(JNIEnv * env, jobject this, jobject _server, jint _providerType){
|
||||
LassoLogout *logout;
|
||||
LassoServer* server;
|
||||
LassoUser* user = NULL;
|
||||
|
||||
server = (LassoServer*)getCObject(env, _server);
|
||||
if (_user != NULL)
|
||||
user = (LassoUser*)getCObject(env, _user);
|
||||
|
||||
logout = lasso_logout_new(_providerType, server, user);
|
||||
logout = lasso_logout_new(server, _providerType);
|
||||
|
||||
storeCObject(env, this, logout);
|
||||
}
|
||||
|
@ -123,22 +119,6 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_loadRequestMsg
|
|||
return result;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_loadUserDump
|
||||
(JNIEnv * env, jobject this, jstring _userDump){
|
||||
int result;
|
||||
LassoLogout* logout;
|
||||
char *userDump;
|
||||
|
||||
userDump = (char*)(*env)->GetStringUTFChars(env, _userDump, NULL);
|
||||
|
||||
logout = getCObject(env, this);
|
||||
result = lasso_logout_load_user_dump(logout, userDump);
|
||||
|
||||
(*env)->ReleaseStringUTFChars(env, _userDump, userDump);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_processRequest
|
||||
(JNIEnv * env, jobject this){
|
||||
LassoLogout* logout;
|
||||
|
@ -162,5 +142,3 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_processResponseMsg
|
|||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -178,3 +178,16 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfileContext_initUserFie
|
|||
checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, cObject);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfileContext_setUserFromDump
|
||||
(JNIEnv * env, jobject this, jstring _dump) {
|
||||
int result;
|
||||
LassoProfileContext *profileContext;
|
||||
char *dump;
|
||||
|
||||
profileContext = getCObject(env, this);
|
||||
dump = (char*)(*env)->GetStringUTFChars(env, _dump, NULL);
|
||||
result = lasso_profile_context_set_user_from_dump(profileContext, dump);
|
||||
(*env)->ReleaseStringUTFChars(env, _dump, dump);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -26,19 +26,18 @@ package com.entrouvert.lasso;
|
|||
|
||||
public class LassoLogin extends LassoProfileContext { // LassoLogin
|
||||
|
||||
public LassoLogin(LassoServer server, LassoUser user){
|
||||
public LassoLogin(LassoServer server){
|
||||
this.server = server;
|
||||
this.user = user;
|
||||
init(server, user);
|
||||
init(server);
|
||||
}
|
||||
|
||||
public LassoLogin(LassoServer server, LassoUser user, String dump){
|
||||
this.server = server;
|
||||
this.user = user;
|
||||
this.user = user;
|
||||
initFromDump(server, user, dump);
|
||||
}
|
||||
|
||||
native protected void init(LassoServer server, LassoUser user);
|
||||
native protected void init(LassoServer server);
|
||||
|
||||
native protected void initFromDump(LassoServer server,
|
||||
LassoUser user,
|
||||
|
|
|
@ -26,13 +26,12 @@ package com.entrouvert.lasso;
|
|||
|
||||
public class LassoLogout extends LassoProfileContext { // LassoLogout
|
||||
|
||||
public LassoLogout(int providerType, LassoServer server, LassoUser user){
|
||||
public LassoLogout(LassoServer server, int providerType){
|
||||
this.server = server;
|
||||
this.user = user;
|
||||
init(providerType, server, user);
|
||||
init(server, providerType);
|
||||
}
|
||||
|
||||
native protected void init(int providerType, LassoServer server, LassoUser user);
|
||||
native protected void init(LassoServer server, int providerType);
|
||||
|
||||
native public int buildRequestMsg();
|
||||
|
||||
|
@ -46,8 +45,6 @@ public class LassoLogout extends LassoProfileContext { // LassoLogout
|
|||
|
||||
native public int loadRequestMsg(String requestMsg, int requestMethod);
|
||||
|
||||
native public int loadUserDump(String userDump);
|
||||
|
||||
native public int processRequest();
|
||||
|
||||
native public int processResponseMsg(String responseMsg, int responseMethod);
|
||||
|
|
|
@ -72,4 +72,6 @@ public abstract class LassoProfileContext extends LassoObject { // LassoProfileC
|
|||
return user;
|
||||
}
|
||||
|
||||
native public int setUserFromDump(String userDump);
|
||||
|
||||
} // LassoProfileContext
|
||||
|
|
|
@ -93,7 +93,7 @@ public class LoginTest extends TestCase {
|
|||
spContextDump = generateServiceProviderContextDump();
|
||||
assertNotNull(spContextDump);
|
||||
spContext = new LassoServer(spContextDump);
|
||||
spLoginContext = new LassoLogin(spContext, null);
|
||||
spLoginContext = new LassoLogin(spContext);
|
||||
assertEquals(0, spLoginContext.initAuthnRequest(
|
||||
"https://identity-provider:1998/liberty-alliance/metadata"));
|
||||
assertEquals(Lasso.messageTypeAuthnRequest, spLoginContext.getRequestType());
|
||||
|
@ -112,7 +112,7 @@ public class LoginTest extends TestCase {
|
|||
idpContextDump = generateIdentityProviderContextDump();
|
||||
assertNotNull(idpContextDump);
|
||||
idpContext = new LassoServer(idpContextDump);
|
||||
idpLoginContext = new LassoLogin(idpContext, null);
|
||||
idpLoginContext = new LassoLogin(idpContext);
|
||||
assertEquals(0, idpLoginContext.initFromAuthnRequestMsg(authnRequestQuery, method));
|
||||
assertTrue(idpLoginContext.mustAuthenticate());
|
||||
|
||||
|
@ -135,7 +135,7 @@ public class LoginTest extends TestCase {
|
|||
spContextDump = generateServiceProviderContextDump();
|
||||
assertNotNull(spContextDump);
|
||||
spContext = new LassoServer(spContextDump);
|
||||
spLoginContext = new LassoLogin(spContext, null);
|
||||
spLoginContext = new LassoLogin(spContext);
|
||||
assertEquals(0, spLoginContext.initRequest(responseQuery, method));
|
||||
assertEquals(0, spLoginContext.buildRequestMsg());
|
||||
soapEndpoint = spLoginContext.getMsgUrl();
|
||||
|
@ -162,10 +162,9 @@ public class LoginTest extends TestCase {
|
|||
assertNotNull(spContextDump);
|
||||
spContext = new LassoServer(spContextDump);
|
||||
assertNotNull(spContext);
|
||||
spLogoutContext = new LassoLogout(spContext, Lasso.providerTypeSp);
|
||||
assertNotNull(spUserContextDump);
|
||||
spUserContext = new LassoUser(spUserContextDump);
|
||||
assertNotNull(spUserContext);
|
||||
spLogoutContext = new LassoLogout(Lasso.providerTypeSp, spContext, spUserContext);
|
||||
spLogoutContext.setUserFromDump(spUserContextDump);
|
||||
assertEquals(0, spLogoutContext.initRequest(null));
|
||||
assertEquals(0, spLogoutContext.buildRequestMsg());
|
||||
soapEndpoint = spLogoutContext.getMsgUrl();
|
||||
|
@ -178,11 +177,11 @@ public class LoginTest extends TestCase {
|
|||
assertNotNull(idpContextDump);
|
||||
idpContext = new LassoServer(idpContextDump);
|
||||
assertNotNull(idpContext);
|
||||
idpLogoutContext = new LassoLogout(Lasso.providerTypeIdp, idpContext, null);
|
||||
idpLogoutContext = new LassoLogout(idpContext, Lasso.providerTypeIdp);
|
||||
assertEquals(0, idpLogoutContext.loadRequestMsg(soapRequestMsg, Lasso.httpMethodSoap));
|
||||
assertEquals(nameIdentifier, idpLogoutContext.getNameIdentifier());
|
||||
assertNotNull(idpUserContextDump);
|
||||
assertEquals(0, idpLogoutContext.loadUserDump(idpUserContextDump));
|
||||
assertEquals(0, idpLogoutContext.setUserFromDump(idpUserContextDump));
|
||||
assertEquals(0, idpLogoutContext.processRequest());
|
||||
idpUserContext = idpLogoutContext.getUser();
|
||||
assertNotNull(idpUserContext);
|
||||
|
|
|
@ -270,21 +270,6 @@ lasso_logout_init_request(LassoLogout *logout,
|
|||
return(0);
|
||||
}
|
||||
|
||||
gint lasso_logout_load_user_dump(LassoLogout *logout,
|
||||
gchar *user_dump)
|
||||
{
|
||||
LassoProfileContext *profileContext;
|
||||
|
||||
g_return_val_if_fail(LASSO_IS_LOGOUT(logout), -1);
|
||||
g_return_val_if_fail(user_dump!=NULL, -1);
|
||||
|
||||
profileContext = LASSO_PROFILE_CONTEXT(logout);
|
||||
|
||||
profileContext->user = lasso_user_new_from_dump(user_dump);
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
||||
gint lasso_logout_load_request_msg(LassoLogout *logout,
|
||||
gchar *request_msg,
|
||||
lassoHttpMethods request_method)
|
||||
|
|
|
@ -79,9 +79,6 @@ LASSO_EXPORT gchar* lasso_logout_get_next_providerID (LassoLogout *log
|
|||
LASSO_EXPORT gint lasso_logout_init_request (LassoLogout *logout,
|
||||
gchar *remote_providerID);
|
||||
|
||||
LASSO_EXPORT gint lasso_logout_load_user_dump (LassoLogout *logout,
|
||||
gchar *user_dump);
|
||||
|
||||
LASSO_EXPORT gint lasso_logout_load_request_msg (LassoLogout *logout,
|
||||
gchar *request_msg,
|
||||
lassoHttpMethods request_method);
|
||||
|
|
|
@ -194,24 +194,6 @@ PyObject *logout_load_request_msg(PyObject *self, PyObject *args){
|
|||
return(int_wrap(codeError));
|
||||
}
|
||||
|
||||
PyObject *logout_load_user_dump(PyObject *self, PyObject *args){
|
||||
PyObject *logout_obj;
|
||||
gchar *user_dump;
|
||||
gint codeError;
|
||||
|
||||
if (CheckArgs(args, "OS:logout_load_request_msg")) {
|
||||
if(!PyArg_ParseTuple(args, (char *) "Os:logout_load_request_msg",
|
||||
&logout_obj, &user_dump))
|
||||
return NULL;
|
||||
}
|
||||
else return NULL;
|
||||
|
||||
codeError = lasso_logout_load_user_dump(LassoLogout_get(logout_obj), user_dump);
|
||||
|
||||
return(int_wrap(codeError));
|
||||
}
|
||||
|
||||
|
||||
PyObject *logout_process_request(PyObject *self, PyObject *args) {
|
||||
PyObject *logout_obj;
|
||||
gint codeError;
|
||||
|
|
|
@ -47,7 +47,6 @@ PyObject *logout_destroy(PyObject *self, PyObject *args);
|
|||
PyObject *logout_get_next_providerID(PyObject *self, PyObject *args);
|
||||
PyObject *logout_init_request(PyObject *self, PyObject *args);
|
||||
PyObject *logout_load_request_msg(PyObject *self, PyObject *args);
|
||||
PyObject *logout_load_user_dump(PyObject *self, PyObject *args);
|
||||
PyObject *logout_new(PyObject *self, PyObject *args);
|
||||
PyObject *logout_process_request(PyObject *self, PyObject *args);
|
||||
PyObject *logout_process_response_msg(PyObject *self, PyObject *args);
|
||||
|
|
|
@ -39,7 +39,7 @@ sp1user = lasso.User.new_from_dump(sp1user_dump)
|
|||
|
||||
sp1logout = lasso.Logout.new(sp1server, lasso.providerTypeSp)
|
||||
|
||||
sp1logout.load_user_dump(sp1user_dump)
|
||||
sp1logout.set_user_from_dump(sp1user_dump)
|
||||
|
||||
sp1logout.init_request()
|
||||
|
||||
|
@ -66,7 +66,7 @@ response_msg_body = "<Envelope><LogoutResponse><ProviderID>https://service-provi
|
|||
idplogout.load_request_msg(msg_body, lasso.httpMethodSoap)
|
||||
nameIdentifier = idplogout.nameIdentifier
|
||||
print "get the user dump from NameIdentifier : ", nameIdentifier
|
||||
idplogout.load_user_dump(idpuser_dump)
|
||||
idplogout.set_user_from_dump(idpuser_dump)
|
||||
idplogout.process_request()
|
||||
|
||||
print "RelayState :", idplogout.msg_relayState
|
||||
|
|
|
@ -1058,9 +1058,6 @@ class Logout(ProfileContext):
|
|||
def load_request_msg(self, request_msg, request_method):
|
||||
return lassomod.logout_load_request_msg(self, request_msg, request_method);
|
||||
|
||||
def load_user_dump(self, user_dump):
|
||||
return lassomod.logout_load_user_dump(self, user_dump);
|
||||
|
||||
def process_request(self):
|
||||
return lassomod.logout_process_request(self);
|
||||
|
||||
|
|
|
@ -252,7 +252,6 @@ static PyMethodDef lasso_methods[] = {
|
|||
{"logout_get_next_providerID", logout_get_next_providerID, METH_VARARGS},
|
||||
{"logout_init_request", logout_init_request, METH_VARARGS},
|
||||
{"logout_load_request_msg", logout_load_request_msg, METH_VARARGS},
|
||||
{"logout_load_user_dump", logout_load_user_dump, METH_VARARGS},
|
||||
{"logout_process_request", logout_process_request, METH_VARARGS},
|
||||
{"logout_process_response_msg", logout_process_response_msg, METH_VARARGS},
|
||||
|
||||
|
|
|
@ -157,10 +157,9 @@ class LoginTestCase(unittest.TestCase):
|
|||
self.failUnless(spContextDump)
|
||||
spContext = lasso.Server.new_from_dump(spContextDump)
|
||||
self.failUnless(spContext)
|
||||
spLogoutContext = lasso.Logout.new(spContext, lasso.providerTypeSp)
|
||||
self.failUnless(spUserContextDump)
|
||||
spUserContext = lasso.User.new_from_dump(spUserContextDump)
|
||||
self.failUnless(spUserContext)
|
||||
spLogoutContext = lasso.Logout.new(lasso.providerTypeSp, spContext, spUserContext)
|
||||
spLogoutContext.set_user_from_dump(spUserContextDump)
|
||||
self.failUnlessEqual(spLogoutContext.init_request(), 0)
|
||||
self.failUnlessEqual(spLogoutContext.build_request_msg(), 0)
|
||||
soapEndpoint = spLogoutContext.msg_url
|
||||
|
@ -173,12 +172,12 @@ class LoginTestCase(unittest.TestCase):
|
|||
self.failUnless(idpContextDump)
|
||||
idpContext = lasso.Server.new_from_dump(idpContextDump)
|
||||
self.failUnless(idpContext)
|
||||
idpLogoutContext = lasso.Logout.new(lasso.providerTypeIdp, idpContext)
|
||||
idpLogoutContext = lasso.Logout.new(idpContext, lasso.providerTypeIdp)
|
||||
self.failUnlessEqual(
|
||||
idpLogoutContext.load_request_msg(soapRequestMsg, lasso.httpMethodSoap), 0)
|
||||
self.failUnlessEqual(idpLogoutContext.nameIdentifier, nameIdentifier)
|
||||
self.failUnless(idpUserContextDump)
|
||||
self.failUnlessEqual(idpLogoutContext.load_user_dump(idpUserContextDump), 0)
|
||||
self.failUnlessEqual(idpLogoutContext.set_user_from_dump(idpUserContextDump), 0)
|
||||
self.failUnlessEqual(idpLogoutContext.process_request(), 0)
|
||||
idpUserContext = idpLogoutContext.user
|
||||
self.failUnless(idpUserContext)
|
||||
|
|
|
@ -3,3 +3,4 @@ login_tests
|
|||
.libs
|
||||
Makefile.in
|
||||
Makefile
|
||||
out.xml
|
||||
|
|
|
@ -224,8 +224,8 @@ START_TEST(test02_serviceProviderLogin)
|
|||
LASSO_PROFILE_CONTEXT(spLogoutContext)->msg_body,
|
||||
lassoHttpMethodSoap);
|
||||
fail_unless(rc == 0, "lasso_logout_load_request_msg failed");
|
||||
rc = lasso_logout_load_user_dump(idpLogoutContext, idpUserContextDump);
|
||||
fail_unless(rc == 0, "lasso_logout_load_user_dump failed");
|
||||
rc = lasso_profile_context_set_user_from_dump(idpLogoutContext, idpUserContextDump);
|
||||
fail_unless(rc == 0, "lasso_profile_context_set_user_from_dump failed");
|
||||
rc = lasso_logout_process_request(idpLogoutContext);
|
||||
fail_unless(rc == 0, "lasso_logout_process_request failed");
|
||||
fail_unless(lasso_logout_get_next_providerID(idpLogoutContext) == NULL,
|
||||
|
|
Loading…
Reference in New Issue