
web.oauth.add-oidc-claims.jsp Maven / Gradle / Ivy
<%--
~ Copyright (c) 2018, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
~
~ Licensed 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
--%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib uri="http://wso2.org/projects/carbon/taglibs/carbontags.jar" prefix="carbon" %>
<%@ taglib uri="http://www.owasp.org/index.php/Category:OWASP_CSRFGuard_Project/Owasp.CsrfGuard.tld" prefix="csrf" %>
<%@ page import="org.apache.axis2.context.ConfigurationContext" %>
<%@ page import="org.json.JSONObject" %>
<%@ page import="org.owasp.encoder.Encode" %>
<%@page import="org.wso2.carbon.CarbonConstants" %>
<%@ page import="org.wso2.carbon.identity.claim.metadata.mgt.stub.dto.ExternalClaimDTO" %>
<%@ page import="org.wso2.carbon.identity.oauth.ui.client.ClaimMetadataAdminClient" %>
<%@ page import="org.wso2.carbon.identity.oauth.ui.client.OAuthAdminClient" %>
<%@ page import="org.wso2.carbon.ui.CarbonUIMessage" %>
<%@ page import="org.wso2.carbon.ui.CarbonUIUtil" %>
<%@ page import="org.wso2.carbon.utils.ServerConstants" %>
<%@ page import="java.text.MessageFormat" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Arrays" %>
<%@ page import="java.util.List" %>
<%@ page import="static org.wso2.carbon.identity.oauth.ui.util.OAuthUIConstants.CLAIM_URI" %>
<%@ page import="static org.wso2.carbon.identity.oauth.ui.util.OAuthUIConstants.SCOPE_NAME" %>
<%@ page import="java.util.ResourceBundle" %>
<%
final String OIDC_CLAIM_DIALECT = "http://wso2.org/oidc/claim";
String BUNDLE = "org.wso2.carbon.identity.oauth.ui.i18n.Resources";
ResourceBundle resourceBundle = ResourceBundle.getBundle(BUNDLE, request.getLocale());
String scope = request.getParameter(SCOPE_NAME);
String serverURL = CarbonUIUtil.getServerURL(config.getServletContext(), session);
ConfigurationContext configContext = (ConfigurationContext)
config.getServletContext().getAttribute(CarbonConstants.CONFIGURATION_CONTEXT);
String cookie = (String) session.getAttribute(ServerConstants.ADMIN_SERVICE_COOKIE);
ClaimMetadataAdminClient client = new ClaimMetadataAdminClient(cookie, serverURL, configContext);
List externalClaims = null;
String[] claims = null;
try {
ExternalClaimDTO[] externalClaimDTOS = client.getExternalClaims(OIDC_CLAIM_DIALECT);
OAuthAdminClient oAuthAdminClient = new OAuthAdminClient(cookie, serverURL, configContext);
claims = oAuthAdminClient.getClaims(scope);
List externalClaimsTemp = new ArrayList();
externalClaims = new ArrayList(Arrays.asList(externalClaimDTOS));
if (claims != null)
for (String claim : claims) {
for (ExternalClaimDTO externalClaimDTO : externalClaims) {
if (externalClaimDTO != null && claim.equals(externalClaimDTO.getExternalClaimURI())) {
externalClaimsTemp.add(externalClaimDTO);
}
}
}
externalClaims.removeAll(externalClaimsTemp);
} catch (Exception e) {
String message = MessageFormat.format(resourceBundle.getString("error.while.adding.claims"), scope);
CarbonUIMessage.sendCarbonUIMessage(message, CarbonUIMessage.ERROR, request);
}
%>
<%=Encode.forHtml(scope)%>
<%
if (claims != null && claims.length > 0) {
%>
<%
for (String claim : claims) {
%>
<%if (claim != null) {%>
<%=Encode.forHtml(claim)%>
<%} else {%>
<%}%>
<%
}
%>
<% } else { %>
<% } %>
<%!
private String getExternalClaims(ExternalClaimDTO externalClaimDTO) {
String claim = externalClaimDTO.getExternalClaimURI();
JSONObject jsonObject = new JSONObject();
jsonObject.put(CLAIM_URI, claim);
return jsonObject.toString();
}
%>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy