1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package edu.internet2.middleware.shibboleth.common.config.relyingparty;
19
20 import java.util.List;
21 import java.util.Map;
22
23 import org.opensaml.xml.security.credential.Credential;
24 import org.springframework.beans.factory.config.AbstractFactoryBean;
25
26 import edu.internet2.middleware.shibboleth.common.relyingparty.ProfileConfiguration;
27 import edu.internet2.middleware.shibboleth.common.relyingparty.RelyingPartyConfiguration;
28
29
30
31
32 public class RelyingPartyFactoryBean extends AbstractFactoryBean {
33
34
35 private String relyingPartyId;
36
37
38 private String providerId;
39
40
41 private String defaultAuthenticationMethod;
42
43
44 private Credential defaultSigningCredential;
45
46
47 private List<String> nameIdFormatPrecedence;
48
49
50 private List<ProfileConfiguration> profileConfigurations;
51
52
53 public Class getObjectType() {
54 return RelyingPartyConfiguration.class;
55 }
56
57
58
59
60
61
62 public String getRelyingPartyId() {
63 return relyingPartyId;
64 }
65
66
67
68
69
70
71 public void setRelyingPartyId(String id) {
72 relyingPartyId = id;
73 }
74
75
76
77
78
79
80 public String getProviderId() {
81 return providerId;
82 }
83
84
85
86
87
88
89 public void setProviderId(String id) {
90 providerId = id;
91 }
92
93
94
95
96
97
98 public String getDefaultAuthenticationMethod() {
99 return defaultAuthenticationMethod;
100 }
101
102
103
104
105
106
107 public void setDefaultAuthenticationMethod(String method) {
108 defaultAuthenticationMethod = method;
109 }
110
111
112
113
114
115
116 public Credential getDefaultSigningCredential() {
117 return defaultSigningCredential;
118 }
119
120
121
122
123
124
125 public void setDefaultSigningCredential(Credential credential) {
126 defaultSigningCredential = credential;
127 }
128
129
130
131
132
133
134 public List<String> getNameIdFormatPrecedence() {
135 return nameIdFormatPrecedence;
136 }
137
138
139
140
141
142
143 public void setNameIdFormatPrecedence(List<String> precedence) {
144 nameIdFormatPrecedence = precedence;
145 }
146
147
148
149
150
151
152 public List<ProfileConfiguration> getProfileConfigurations() {
153 return profileConfigurations;
154 }
155
156
157
158
159
160
161 public void setProfileConfigurations(List<ProfileConfiguration> configurations) {
162 profileConfigurations = configurations;
163 }
164
165
166 protected Object createInstance() throws Exception {
167 RelyingPartyConfiguration configuration = new RelyingPartyConfiguration(relyingPartyId, providerId);
168 configuration.setDefaultAuthenticationMethod(defaultAuthenticationMethod);
169 configuration.setDefaultSigningCredential(defaultSigningCredential);
170 if(nameIdFormatPrecedence != null && !nameIdFormatPrecedence.isEmpty()){
171 configuration.setNameIdFormatPrecedence(nameIdFormatPrecedence.toArray(new String[nameIdFormatPrecedence.size()]));
172 }
173
174 if (profileConfigurations != null) {
175 Map<String, ProfileConfiguration> registeredProfileConfigs = configuration.getProfileConfigurations();
176 for (ProfileConfiguration profileConfig : profileConfigurations) {
177 registeredProfileConfigs.put(profileConfig.getProfileId(), profileConfig);
178 }
179 }
180
181 return configuration;
182 }
183 }