summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorEmmanuel Raviart <eraviart@entrouvert.com>2004-07-22 08:37:09 +0000
committerEmmanuel Raviart <eraviart@entrouvert.com>2004-07-22 08:37:09 +0000
commitc2dc90e2e99a83a1d80042c0405ecba94ad01845 (patch)
tree329fb42f4f50fedf6c52d98d4fc1a5cd840c507c /java
parent255f09ed98f1e554093dce03c384bf5c4dbea091 (diff)
downloadlasso-c2dc90e2e99a83a1d80042c0405ecba94ad01845.tar.gz
lasso-c2dc90e2e99a83a1d80042c0405ecba94ad01845.tar.xz
lasso-c2dc90e2e99a83a1d80042c0405ecba94ad01845.zip
Java & Python tests do not regress. They even progress.
Diffstat (limited to 'java')
-rw-r--r--java/src/c/com_entrouvert_lasso_LassoLogin.c2
-rw-r--r--java/src/java/com/entrouvert/lasso/Lasso.java10
-rw-r--r--java/src/java/com/entrouvert/lasso/LassoLogin.java2
-rw-r--r--java/tests/LoginTest.java14
4 files changed, 25 insertions, 3 deletions
diff --git a/java/src/c/com_entrouvert_lasso_LassoLogin.c b/java/src/c/com_entrouvert_lasso_LassoLogin.c
index a3dd9f74..e0a726c0 100644
--- a/java/src/c/com_entrouvert_lasso_LassoLogin.c
+++ b/java/src/c/com_entrouvert_lasso_LassoLogin.c
@@ -201,7 +201,7 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_initRequest
return result;
}
-JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogin_mustAuthenticate
+JNIEXPORT jboolean JNICALL Java_com_entrouvert_lasso_LassoLogin_mustAuthenticate
(JNIEnv * env, jobject this){
int result;
LassoLogin* login;
diff --git a/java/src/java/com/entrouvert/lasso/Lasso.java b/java/src/java/com/entrouvert/lasso/Lasso.java
index a1d5700d..884dfcbf 100644
--- a/java/src/java/com/entrouvert/lasso/Lasso.java
+++ b/java/src/java/com/entrouvert/lasso/Lasso.java
@@ -30,6 +30,16 @@ public class Lasso { // Lasso
System.loadLibrary("jlasso");
}
+ static final public int httpMethodGet = 1;
+ static final public int httpMethodPost = 2;
+ static final public int httpMethodRedirect = 3;
+ static final public int httpMethodSoap = 4;
+
+ /* Consent */
+ static final public String libConsentObtained = "urn:liberty:consent:obtained";
+ static final public String libConsentUnavailable = "urn:liberty:consent:unavailable";
+ static final public String libConsentInapplicable = "urn:liberty:consent:inapplicable";
+
/* NameIDPolicyType */
static final public String libNameIdPolicyTypeNone = "none";
static final public String libNameIdPolicyTypeOneTime = "onetime";
diff --git a/java/src/java/com/entrouvert/lasso/LassoLogin.java b/java/src/java/com/entrouvert/lasso/LassoLogin.java
index 91d59406..d8229543 100644
--- a/java/src/java/com/entrouvert/lasso/LassoLogin.java
+++ b/java/src/java/com/entrouvert/lasso/LassoLogin.java
@@ -67,7 +67,7 @@ public class LassoLogin extends LassoProfileContext { // LassoLogin
native public int initRequest(String responseMsg,
int responseMethod);
- native public int mustAuthenticate();
+ native public boolean mustAuthenticate();
native public int processAuthnResponseMsg(String authnResponseMsg);
diff --git a/java/tests/LoginTest.java b/java/tests/LoginTest.java
index d4455f34..018e8545 100644
--- a/java/tests/LoginTest.java
+++ b/java/tests/LoginTest.java
@@ -77,6 +77,7 @@ public class LoginTest extends TestCase {
}
public void test02_serviceProviderLogin() {
+ // Service provider login using HTTP redirect.
String spContextDump = generateServiceProviderContextDump();
assertNotNull(spContextDump);
LassoServer spContext = new LassoServer(spContextDump);
@@ -86,9 +87,20 @@ public class LoginTest extends TestCase {
LassoAuthnRequest authnRequest = (LassoAuthnRequest) spLoginContext.getRequest();
authnRequest.setPassive(false);
authnRequest.setNameIdPolicy(Lasso.libNameIdPolicyTypeFederated);
- // FIXME authnRequest.setConsent(Lasso.libConsentObtained);
+ authnRequest.setConsent(Lasso.libConsentObtained);
authnRequest.setRelayState("fake");
assertEquals(spLoginContext.buildAuthnRequestMsg(), 0);
+ String authnRequestUrl = spLoginContext.getMsgUrl();
+ String authnRequestMsg = authnRequestUrl.substring(authnRequestUrl.indexOf("?") + 1);
+ int method = Lasso.httpMethodRedirect;
+
+ // Identity provider singleSignOn, for a user having no federation.
+ String idpContextDump = generateIdentityProviderContextDump();
+ assertNotNull(idpContextDump);
+ LassoServer idpContext = new LassoServer(idpContextDump);
+ LassoLogin idpLoginContext = new LassoLogin(idpContext, null);
+ assertEquals(idpLoginContext.initFromAuthnRequestMsg(authnRequestMsg, method), 0);
+ assertTrue(idpLoginContext.mustAuthenticate());
}
public static Test suite() {