All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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)%>

id="scopeName"/>
" onclick="doAdd();"/> " onclick="doFinish();"/> " onclick="doCancel();"/>


<% if (claims != null && claims.length > 0) { %> <% for (String claim : claims) { %> <% } %> <% } else { %> <% } %>
<%if (claim != null) {%> <%=Encode.forHtml(claim)%> <%} 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