84 final HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
85 final HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
87 httpResponse.setContentType(
"application/json");
88 PrintWriter out = httpResponse.getWriter();
90 JSONObject jsonObj =
new JSONObject();
104 JSONArray scopesSupported =
new JSONArray();
106 if (UmaScopeType.PROTECTION.getValue().equals(scope.getDisplayName())) {
109 scopesSupported.put(scope.getDisplayName());
111 if (scopesSupported.length() > 0) {
112 jsonObj.put(SCOPES_SUPPORTED, scopesSupported);
115 JSONArray responseTypesSupported =
new JSONArray();
117 responseTypesSupported.put(implode(responseTypes,
" "));
119 if (responseTypesSupported.length() > 0) {
120 jsonObj.put(RESPONSE_TYPES_SUPPORTED, responseTypesSupported);
123 JSONArray grantTypesSupported =
new JSONArray();
125 grantTypesSupported.put(grantType);
127 if (grantTypesSupported.length() > 0) {
128 jsonObj.put(GRANT_TYPES_SUPPORTED, grantTypesSupported);
131 JSONArray acrValuesSupported =
new JSONArray();
133 acrValuesSupported.put(acr);
135 jsonObj.put(ACR_VALUES_SUPPORTED, acrValuesSupported);
138 JSONArray subjectTypesSupported =
new JSONArray();
140 subjectTypesSupported.put(subjectType);
142 if (subjectTypesSupported.length() > 0) {
143 jsonObj.put(SUBJECT_TYPES_SUPPORTED, subjectTypesSupported);
146 JSONArray userInfoSigningAlgValuesSupported =
new JSONArray();
148 userInfoSigningAlgValuesSupported.put(userInfoSigningAlg);
150 if (userInfoSigningAlgValuesSupported.length() > 0) {
151 jsonObj.put(USER_INFO_SIGNING_ALG_VALUES_SUPPORTED, userInfoSigningAlgValuesSupported);
154 JSONArray userInfoEncryptionAlgValuesSupported =
new JSONArray();
156 userInfoEncryptionAlgValuesSupported.put(userInfoEncryptionAlg);
158 if (userInfoEncryptionAlgValuesSupported.length() > 0) {
159 jsonObj.put(USER_INFO_ENCRYPTION_ALG_VALUES_SUPPORTED, userInfoEncryptionAlgValuesSupported);
162 JSONArray userInfoEncryptionEncValuesSupported =
new JSONArray();
164 userInfoEncryptionEncValuesSupported.put(userInfoEncryptionEnc);
166 if (userInfoEncryptionAlgValuesSupported.length() > 0) {
167 jsonObj.put(USER_INFO_ENCRYPTION_ENC_VALUES_SUPPORTED, userInfoEncryptionAlgValuesSupported);
170 JSONArray idTokenSigningAlgValuesSupported =
new JSONArray();
172 idTokenSigningAlgValuesSupported.put(idTokenSigningAlg);
174 if (idTokenSigningAlgValuesSupported.length() > 0) {
175 jsonObj.put(ID_TOKEN_SIGNING_ALG_VALUES_SUPPORTED, idTokenSigningAlgValuesSupported);
178 JSONArray idTokenEncryptionAlgValuesSupported =
new JSONArray();
180 idTokenEncryptionAlgValuesSupported.put(idTokenEncryptionAlg);
182 if (idTokenEncryptionAlgValuesSupported.length() > 0) {
183 jsonObj.put(ID_TOKEN_ENCRYPTION_ALG_VALUES_SUPPORTED, idTokenEncryptionAlgValuesSupported);
186 JSONArray idTokenEncryptionEncValuesSupported =
new JSONArray();
188 idTokenEncryptionEncValuesSupported.put(idTokenEncryptionEnc);
190 if (idTokenEncryptionEncValuesSupported.length() > 0) {
191 jsonObj.put(ID_TOKEN_ENCRYPTION_ENC_VALUES_SUPPORTED, idTokenEncryptionEncValuesSupported);
194 JSONArray requestObjectSigningAlgValuesSupported =
new JSONArray();
196 requestObjectSigningAlgValuesSupported.put(requestObjectSigningAlg);
198 if (requestObjectSigningAlgValuesSupported.length() > 0) {
199 jsonObj.put(REQUEST_OBJECT_SIGNING_ALG_VALUES_SUPPORTED,
200 requestObjectSigningAlgValuesSupported);
203 JSONArray requestObjectEncryptionAlgValuesSupported =
new JSONArray();
205 .getRequestObjectEncryptionAlgValuesSupported()) {
206 requestObjectEncryptionAlgValuesSupported.put(requestObjectEncryptionAlg);
208 if (requestObjectEncryptionAlgValuesSupported.length() > 0) {
209 jsonObj.put(REQUEST_OBJECT_ENCRYPTION_ALG_VALUES_SUPPORTED,
210 requestObjectEncryptionAlgValuesSupported);
213 JSONArray requestObjectEncryptionEncValuesSupported =
new JSONArray();
215 .getRequestObjectEncryptionEncValuesSupported()) {
216 requestObjectEncryptionEncValuesSupported.put(requestObjectEncryptionEnc);
218 if (requestObjectEncryptionEncValuesSupported.length() > 0) {
219 jsonObj.put(REQUEST_OBJECT_ENCRYPTION_ENC_VALUES_SUPPORTED,
220 requestObjectEncryptionEncValuesSupported);
223 JSONArray tokenEndpointAuthMethodsSupported =
new JSONArray();
225 tokenEndpointAuthMethodsSupported.put(tokenEndpointAuthMethod);
227 if (tokenEndpointAuthMethodsSupported.length() > 0) {
228 jsonObj.put(TOKEN_ENDPOINT_AUTH_METHODS_SUPPORTED, tokenEndpointAuthMethodsSupported);
231 JSONArray tokenEndpointAuthSigningAlgValuesSupported =
new JSONArray();
233 .getTokenEndpointAuthSigningAlgValuesSupported()) {
234 tokenEndpointAuthSigningAlgValuesSupported.put(tokenEndpointAuthSigningAlg);
236 if (tokenEndpointAuthSigningAlgValuesSupported.length() > 0) {
237 jsonObj.put(TOKEN_ENDPOINT_AUTH_SIGNING_ALG_VALUES_SUPPORTED,
238 tokenEndpointAuthSigningAlgValuesSupported);
241 JSONArray displayValuesSupported =
new JSONArray();
243 displayValuesSupported.put(display);
245 if (displayValuesSupported.length() > 0) {
246 jsonObj.put(DISPLAY_VALUES_SUPPORTED, displayValuesSupported);
249 JSONArray claimTypesSupported =
new JSONArray();
251 claimTypesSupported.put(claimType);
253 if (claimTypesSupported.length() > 0) {
254 jsonObj.put(CLAIM_TYPES_SUPPORTED, claimTypesSupported);
257 JSONArray claimsSupported =
new JSONArray();
264 for (GluuAttribute gluuAttribute : gluuAttributes) {
265 if (GluuStatus.ACTIVE.equals(gluuAttribute.getStatus())) {
266 String claimName = gluuAttribute.getOxAuthClaimName();
267 if (StringUtils.isNotBlank(claimName)) {
271 if (ScopeType.OPENID.equals(scope.getScopeType())) {
272 claimsSupported.put(claimName);
280 if (claimsSupported.length() > 0) {
281 jsonObj.put(CLAIMS_SUPPORTED, claimsSupported);
286 JSONArray idTokenTokenBindingCnfValuesSupported =
new JSONArray();
288 idTokenTokenBindingCnfValuesSupported.put(value);
290 jsonObj.put(ID_TOKEN_TOKEN_BINDING_CNF_VALUES_SUPPORTED, idTokenTokenBindingCnfValuesSupported);
292 JSONArray claimsLocalesSupported =
new JSONArray();
294 claimsLocalesSupported.put(claimLocale);
296 if (claimsLocalesSupported.length() > 0) {
297 jsonObj.put(CLAIMS_LOCALES_SUPPORTED, claimsLocalesSupported);
300 JSONArray uiLocalesSupported =
new JSONArray();
302 uiLocalesSupported.put(uiLocale);
304 if (uiLocalesSupported.length() > 0) {
305 jsonObj.put(UI_LOCALES_SUPPORTED, uiLocalesSupported);
316 jsonObj.put(FRONTCHANNEL_LOGOUT_SUPPORTED,
new Boolean(
true));
317 jsonObj.put(FRONTCHANNEL_LOGOUT_SESSION_SUPPORTED,
new Boolean(
true));
320 out.println(jsonObj.toString(4).replace(
"\\/",
"/"));
321 }
catch (JSONException e) {
322 log.error(e.getMessage(), e);
323 }
catch (Exception e) {
324 log.error(e.getMessage(), e);
List< String > getClaimTypesSupported()
Definition: AppConfiguration.java:677
List< String > getUiLocalesSupported()
Definition: AppConfiguration.java:712
Boolean getFrontChannelLogoutSessionSupported()
Definition: AppConfiguration.java:204
Boolean getRequestParameterSupported()
Definition: AppConfiguration.java:728
List< String > getUserInfoSigningAlgValuesSupported()
Definition: AppConfiguration.java:573
Boolean getRequireRequestUriRegistration()
Definition: AppConfiguration.java:744
List< String > getIdTokenSigningAlgValuesSupported()
Definition: AppConfiguration.java:597
List< String > getTokenEndpointAuthMethodsSupported()
Definition: AppConfiguration.java:645
AppConfiguration appConfiguration
Definition: OpenIdConfiguration.java:58
List< org.xdi.oxauth.model.common.Scope > getAllScopesList()
Definition: ScopeService.java:51
Boolean getClaimsParameterSupported()
Definition: AppConfiguration.java:720
List< GluuAttribute > getAllAttributes()
Definition: AttributeService.java:86
String getIdGenerationEndpoint()
Definition: AppConfiguration.java:517
Logger log
Definition: OpenIdConfiguration.java:55
String getJwksUri()
Definition: AppConfiguration.java:459
List< String > getIdTokenEncryptionAlgValuesSupported()
Definition: AppConfiguration.java:605
List< String > getSubjectTypesSupported()
Definition: AppConfiguration.java:557
List< String > getClaimsLocalesSupported()
Definition: AppConfiguration.java:693
String getTokenEndpoint()
Definition: AppConfiguration.java:364
List< String > getIdTokenTokenBindingCnfValuesSupported()
Definition: AppConfiguration.java:701
Set< GrantType > getGrantTypesSupported()
Definition: AppConfiguration.java:549
List< String > getRequestObjectSigningAlgValuesSupported()
Definition: AppConfiguration.java:621
List< String > getUserInfoEncryptionAlgValuesSupported()
Definition: AppConfiguration.java:581
String getIntrospectionEndpoint()
Definition: AppConfiguration.java:525
List< String > getIdTokenEncryptionEncValuesSupported()
Definition: AppConfiguration.java:613
List< String > getAcrValuesList()
Definition: ExternalAuthenticationService.java:419
Boolean getRequestUriParameterSupported()
Definition: AppConfiguration.java:736
String getCheckSessionIFrame()
Definition: AppConfiguration.java:419
Set< Set< ResponseType > > getResponseTypesSupported()
Definition: AppConfiguration.java:541
Definition: Scope.java:23
String getClientInfoEndpoint()
Definition: AppConfiguration.java:400
List< org.xdi.oxauth.model.common.Scope > getScopesByClaim(List< org.xdi.oxauth.model.common.Scope > scopes, String claimDn)
Definition: ScopeService.java:159
String getOpTosUri()
Definition: AppConfiguration.java:760
String getOpPolicyUri()
Definition: AppConfiguration.java:752
JSONObject createAuthLevelMapping()
Definition: OpenIdConfiguration.java:390
String getEndSessionEndpoint()
Definition: AppConfiguration.java:438
ScopeService scopeService
Definition: OpenIdConfiguration.java:64
ExternalAuthenticationService externalAuthenticationService
Definition: OpenIdConfiguration.java:67
JSONArray createScopeToClaimsMapping()
Definition: OpenIdConfiguration.java:342
String getIssuer()
Definition: AppConfiguration.java:274
List< String > getDisplayValuesSupported()
Definition: AppConfiguration.java:669
String getUserInfoEndpoint()
Definition: AppConfiguration.java:382
List< String > getUserInfoEncryptionEncValuesSupported()
Definition: AppConfiguration.java:589
String getServiceDocumentation()
Definition: AppConfiguration.java:685
Definition: AuthenticationMethod.java:7
String getRegistrationEndpoint()
Definition: AppConfiguration.java:480
AttributeService attributeService
Definition: OpenIdConfiguration.java:61
String getAuthorizationEndpoint()
Definition: AppConfiguration.java:346