Author: angela
Date: Thu Oct 10 07:49:58 2013
New Revision: 1530868
URL: http://svn.apache.org/r1530868
Log:
OAK-91 : authentication (test impersonation with token creation)
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/TokenDefaultLoginModuleTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/TokenDefaultLoginModuleTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/TokenDefaultLoginModuleTest.java?rev=1530868&r1=1530867&r2=1530868&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/TokenDefaultLoginModuleTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authentication/TokenDefaultLoginModuleTest.java
Thu Oct 10 07:49:58 2013
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.security.authentication;
+import java.security.Principal;
import java.util.Collections;
import javax.jcr.GuestCredentials;
import javax.jcr.SimpleCredentials;
@@ -28,7 +29,9 @@ import org.apache.jackrabbit.oak.Abstrac
import org.apache.jackrabbit.oak.api.ContentSession;
import org.apache.jackrabbit.oak.api.Root;
import
org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule;
+import org.apache.jackrabbit.oak.spi.security.authentication.AuthInfoImpl;
import
org.apache.jackrabbit.oak.spi.security.authentication.AuthenticationConfiguration;
+import
org.apache.jackrabbit.oak.spi.security.authentication.ImpersonationCredentials;
import org.apache.jackrabbit.oak.spi.security.authentication.token.TokenInfo;
import
org.apache.jackrabbit.oak.spi.security.authentication.token.TokenProvider;
import org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl;
@@ -178,6 +181,29 @@ public class TokenDefaultLoginModuleTest
}
@Test
+ public void testTokenCreationAndImpersonation() throws Exception {
+ ContentSession cs = null;
+ try {
+ SimpleCredentials sc = (SimpleCredentials) getAdminCredentials();
+ sc.setAttribute(".token", "");
+
+ ImpersonationCredentials ic = new ImpersonationCredentials(sc, new
AuthInfoImpl(((SimpleCredentials) getAdminCredentials()).getUserID(),
Collections.<String, Object>emptyMap(), Collections.<Principal>emptySet()));
+ cs = login(ic);
+
+ Object token = sc.getAttribute(".token").toString();
+ assertNotNull(token);
+ TokenCredentials tc = new TokenCredentials(token.toString());
+
+ cs.close();
+ cs = login(tc);
+ } finally {
+ if (cs != null) {
+ cs.close();
+ }
+ }
+ }
+
+ @Test
public void testInvalidTokenCredentials() throws Exception {
ContentSession cs = null;
try {