aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java
index 69167c75d..e18d9786d 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/AuthenticationSessionStoreage.java
@@ -154,6 +154,26 @@ public class AuthenticationSessionStoreage {
return id;
}
+ public static void setInterfederationAttributCollectorUsed(AuthenticationSession session, String idpID) throws MOADatabaseException {
+ AuthenticatedSessionStore dbsession = searchInDatabase(session.getSessionID());
+ List<InterfederationSessionStore> idpList = dbsession.getInderfederation();
+ for (InterfederationSessionStore idp : idpList) {
+ if (idp.getIdpurlprefix().endsWith(idpID))
+ idp.setAttributesRequested(true);
+ }
+
+ //store AssertionStore element to Database
+ try {
+ MOASessionDBUtils.saveOrUpdate(dbsession);
+ Logger.info("MOASession with sessionID=" + session.getSessionID()
+ + " is stored in Database");
+
+ } catch (MOADatabaseException e) {
+ Logger.warn("MOASession could not stored.",e);
+ throw e;
+ }
+ }
+
public static void storeSession(AuthenticationSession session) throws MOADatabaseException, BuildException {