geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jlmonte...@apache.org
Subject svn commit: r1851799 [2/2] - in /geronimo/specs/trunk: ./ geronimo-security_1.0_spec/ geronimo-security_1.0_spec/src/ geronimo-security_1.0_spec/src/main/ geronimo-security_1.0_spec/src/main/java/ geronimo-security_1.0_spec/src/main/java/javax/ geronim...
Date Tue, 22 Jan 2019 10:07:20 GMT
Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/CredentialValidationResult.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/CredentialValidationResult.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/CredentialValidationResult.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/CredentialValidationResult.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+
+import javax.security.enterprise.CallerPrincipal;
+import java.util.HashSet;
+import java.util.Set;
+
+import static java.util.Collections.emptySet;
+import static java.util.Collections.unmodifiableSet;
+import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.INVALID;
+import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.NOT_VALIDATED;
+import static javax.security.enterprise.identitystore.CredentialValidationResult.Status.VALID;
+
+public class CredentialValidationResult {
+    public static final CredentialValidationResult INVALID_RESULT = new CredentialValidationResult(INVALID);
+    public static final CredentialValidationResult NOT_VALIDATED_RESULT = new CredentialValidationResult(NOT_VALIDATED);
+
+    private final Status status;
+    private final String storeId;
+    private final String callerDn;
+    private final String callerUniqueId;
+    private final CallerPrincipal callerPrincipal;
+    private final Set<String> groups;
+
+    public enum Status {
+        NOT_VALIDATED,
+        INVALID,
+        VALID
+    }
+
+    private CredentialValidationResult(Status status) {
+        this(status, null, null, null, null, null);
+    }
+
+    public CredentialValidationResult(String callerName) {
+        this(new CallerPrincipal(callerName), null);
+    }
+
+    public CredentialValidationResult(CallerPrincipal callerPrincipal) {
+        this(callerPrincipal, null);
+    }
+
+    public CredentialValidationResult(String callerName, Set<String> groups) {
+        this(new CallerPrincipal(callerName), groups);
+    }
+
+    public CredentialValidationResult(CallerPrincipal callerPrincipal, Set<String>
groups) {
+        this(null, callerPrincipal, null, null, groups);
+    }
+
+    public CredentialValidationResult(String storeId, String callerName, String callerDn,
String callerUniqueId,
+                                      Set<String> groups) {
+        this(storeId, new CallerPrincipal(callerName), callerDn, callerUniqueId, groups);
+    }
+
+    public CredentialValidationResult(String storeId, CallerPrincipal callerPrincipal, String
callerDn,
+                                      String callerUniqueId, Set<String> groups) {
+        this(VALID, storeId, callerPrincipal, callerDn, callerUniqueId, groups);
+    }
+
+    private CredentialValidationResult(Status status, String storeId, CallerPrincipal callerPrincipal,
String callerDn,
+                                       String callerUniqueId, Set<String> groups) {
+
+        if (status != VALID && (storeId != null || callerPrincipal != null ||
+                                callerDn != null || callerUniqueId != null || groups != null))
{
+            throw new IllegalArgumentException("Bad status");
+        }
+        if (status == VALID && (callerPrincipal == null || callerPrincipal.getName().trim().isEmpty()))
{
+            throw new IllegalArgumentException("Null or empty CallerPrincipal");
+        }
+
+        this.status = status;
+        this.storeId = storeId;
+        this.callerPrincipal = callerPrincipal;
+        this.callerDn = callerDn;
+        this.callerUniqueId = callerUniqueId;
+        this.groups = groups != null ? unmodifiableSet(new HashSet<>(groups)) : emptySet();
+    }
+
+    public Status getStatus() {
+        return status;
+    }
+
+    public String getIdentityStoreId() {
+        return storeId;
+    }
+
+    public CallerPrincipal getCallerPrincipal() {
+        return callerPrincipal;
+    }
+
+    public String getCallerUniqueId() {
+        return callerUniqueId;
+    }
+
+    public String getCallerDn() {
+        return callerDn;
+    }
+
+    public Set<String> getCallerGroups() {
+        return groups;
+    }
+}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/DatabaseIdentityStoreDefinition.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/DatabaseIdentityStoreDefinition.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/DatabaseIdentityStoreDefinition.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/DatabaseIdentityStoreDefinition.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+import javax.security.enterprise.identitystore.IdentityStore.ValidationType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static javax.security.enterprise.identitystore.IdentityStore.ValidationType.PROVIDE_GROUPS;
+import static javax.security.enterprise.identitystore.IdentityStore.ValidationType.VALIDATE;
+
+@Retention(RUNTIME)
+@Target(TYPE)
+public @interface DatabaseIdentityStoreDefinition {
+    String dataSourceLookup() default "java:comp/DefaultDataSource";
+
+    String callerQuery() default "";
+
+    String groupsQuery() default "";
+
+    Class<? extends PasswordHash> hashAlgorithm() default Pbkdf2PasswordHash.class;
+
+    String[] hashAlgorithmParameters() default {};
+
+    int priority() default 70;
+
+    String priorityExpression() default "";
+
+    ValidationType[] useFor() default {
+            VALIDATE,
+            PROVIDE_GROUPS
+    };
+
+    String useForExpression() default "";
+}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStore.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStore.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStore.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStore.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+import javax.security.enterprise.credential.Credential;
+import java.lang.invoke.MethodHandles;
+import java.util.EnumSet;
+import java.util.Set;
+
+import static java.lang.invoke.MethodType.methodType;
+import static java.util.Collections.emptySet;
+import static javax.security.enterprise.identitystore.CredentialValidationResult.NOT_VALIDATED_RESULT;
+import static javax.security.enterprise.identitystore.IdentityStore.ValidationType.PROVIDE_GROUPS;
+import static javax.security.enterprise.identitystore.IdentityStore.ValidationType.VALIDATE;
+
+public interface IdentityStore {
+    Set<ValidationType> DEFAULT_VALIDATION_TYPES = EnumSet.of(VALIDATE, PROVIDE_GROUPS);
+
+    default CredentialValidationResult validate(Credential credential) {
+        try {
+            return CredentialValidationResult.class.cast(
+                    MethodHandles.lookup()
+                                 .bind(this, "validate", methodType(CredentialValidationResult.class,
credential.getClass()))
+                                 .invoke(credential));
+        } catch (NoSuchMethodException e) {
+            return NOT_VALIDATED_RESULT;
+        } catch (Throwable e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
+    default Set<String> getCallerGroups(CredentialValidationResult validationResult)
{
+        return emptySet();
+    }
+
+    default int priority() {
+        return 100;
+    }
+
+    default Set<ValidationType> validationTypes() {
+        return DEFAULT_VALIDATION_TYPES;
+    }
+
+    enum ValidationType {
+        VALIDATE, PROVIDE_GROUPS
+    }
+}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStoreHandler.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStoreHandler.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStoreHandler.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStoreHandler.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+import javax.security.enterprise.credential.Credential;
+
+public interface IdentityStoreHandler {
+    CredentialValidationResult validate(Credential credential);
+}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStorePermission.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStorePermission.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStorePermission.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStorePermission.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+import java.security.BasicPermission;
+
+public class IdentityStorePermission extends BasicPermission {
+    private static final long serialVersionUID = 1254057022829640365L;
+
+    public IdentityStorePermission(String name) {
+        super(name);
+    }
+
+    public IdentityStorePermission(String name, String action) {
+        super(name, action);
+    }
+}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStoreWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStoreWrapper.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStoreWrapper.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/IdentityStoreWrapper.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+import javax.security.enterprise.credential.Credential;
+import java.util.Set;
+
+public class IdentityStoreWrapper implements IdentityStore {
+    private final IdentityStore identityStore;
+
+    public IdentityStoreWrapper(IdentityStore identityStore) {
+        this.identityStore = identityStore;
+    }
+
+    public IdentityStore getWrapped() {
+        return identityStore;
+    }
+
+    @Override
+    public CredentialValidationResult validate(Credential credential) {
+        return getWrapped().validate(credential);
+    }
+
+    @Override
+    public Set<String> getCallerGroups(CredentialValidationResult validationResult)
{
+        return getWrapped().getCallerGroups(validationResult);
+    }
+
+    @Override
+    public int priority() {
+        return getWrapped().priority();
+    }
+
+    @Override
+    public Set<ValidationType> validationTypes() {
+        return getWrapped().validationTypes();
+    }
+}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/LdapIdentityStoreDefinition.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/LdapIdentityStoreDefinition.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/LdapIdentityStoreDefinition.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/LdapIdentityStoreDefinition.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+import javax.security.enterprise.identitystore.IdentityStore.ValidationType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static javax.security.enterprise.identitystore.IdentityStore.ValidationType.PROVIDE_GROUPS;
+import static javax.security.enterprise.identitystore.IdentityStore.ValidationType.VALIDATE;
+
+@Retention(RUNTIME)
+@Target(TYPE)
+public @interface LdapIdentityStoreDefinition {
+    enum LdapSearchScope {
+        ONE_LEVEL, SUBTREE
+    }
+
+    String url() default "";
+
+    String bindDn() default "";
+
+    String bindDnPassword() default "";
+
+    String callerBaseDn() default "";
+
+    String callerNameAttribute() default "uid";
+
+    String callerSearchBase() default "";
+
+    String callerSearchFilter() default "";
+
+    LdapSearchScope callerSearchScope() default LdapSearchScope.SUBTREE;
+
+    String callerSearchScopeExpression() default "";
+
+    String groupSearchBase() default "";
+
+    String groupSearchFilter() default "";
+
+    LdapSearchScope groupSearchScope() default LdapSearchScope.SUBTREE;
+
+    String groupSearchScopeExpression() default "";
+
+    String groupNameAttribute() default "cn";
+
+    String groupMemberAttribute() default "member";
+
+    String groupMemberOfAttribute() default "memberOf";
+
+    int readTimeout() default 0;
+
+    String readTimeoutExpression() default "";
+
+    int maxResults() default 1000;
+
+    String maxResultsExpression() default "";
+
+    int priority() default 80;
+
+    String priorityExpression() default "";
+
+    ValidationType[] useFor() default {
+            VALIDATE,
+            PROVIDE_GROUPS
+    };
+
+    String useForExpression() default "";
+}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/PasswordHash.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/PasswordHash.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/PasswordHash.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/PasswordHash.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+import java.util.Map;
+
+public interface PasswordHash {
+    default void initialize(Map<String, String> parameters) {}
+
+    String generate(char[] password);
+
+    boolean verify(char[] password, String hashedPassword);
+}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/Pbkdf2PasswordHash.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/Pbkdf2PasswordHash.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/Pbkdf2PasswordHash.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/Pbkdf2PasswordHash.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+public interface Pbkdf2PasswordHash extends PasswordHash {}

Added: geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/RememberMeIdentityStore.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/RememberMeIdentityStore.java?rev=1851799&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/RememberMeIdentityStore.java
(added)
+++ geronimo/specs/trunk/geronimo-security_1.0_spec/src/main/java/javax/security/enterprise/identitystore/RememberMeIdentityStore.java
Tue Jan 22 10:07:19 2019
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.security.enterprise.identitystore;
+
+import javax.security.enterprise.CallerPrincipal;
+import javax.security.enterprise.credential.RememberMeCredential;
+import java.util.Set;
+
+public interface RememberMeIdentityStore {
+    CredentialValidationResult validate(RememberMeCredential credential);
+
+    String generateLoginToken(CallerPrincipal callerPrincipal, Set<String> groups);
+
+    void removeLoginToken(String token);
+}

Modified: geronimo/specs/trunk/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/pom.xml?rev=1851799&r1=1851798&r2=1851799&view=diff
==============================================================================
--- geronimo/specs/trunk/pom.xml (original)
+++ geronimo/specs/trunk/pom.xml Tue Jan 22 10:07:19 2019
@@ -172,7 +172,7 @@
                 <!-- Deployment 1.2            NONE -->
                 <!-- JACC 1.5                  NONE -->
                 <!-- JASPIC 1.1                NONE -->
-                <!-- Java EE Security API 1.0  NONE -->
+                <module>geronimo-security_1.0_spec</module>
                 <!-- DEBUG 1.0                 NONE -->
                 <!-- JSTL 1.2                  NONE -->
                 <!-- WS Metadata 2.1           NONE -->



Mime
View raw message