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