Project

General

Profile

1 59508 katerina.i
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2
<!DOCTYPE html>
3 59661 k.triantaf
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
4 59508 katerina.i
<html lang="en-gb" dir="ltr" vocab="http://schema.org/">
5
<head>
6
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
    <meta name="viewport" content="width=device-width, initial-scale=1">
9
    <base href=".">
10 59542 katerina.i
    <title>OpenAIRE - Registered services</title>
11 59508 katerina.i
    <script src="./js/jquery.js"></script>
12 59806 k.triantaf
    <script src="./js/uikit.min.js"></script>
13 59508 katerina.i
    <script src="./js/validation.js"></script>
14
    <script src="./js/uikit-icons-max.js"></script>
15
    <link rel="stylesheet" style="text/css" href="./css/theme.css">
16
    <link rel="stylesheet" style="text/css" href="./css/custom.css">
17
    <link rel="stylesheet" style="text/css" href="./css/aai-custom.css">
18
    <link rel="icon" type="image/png" sizes="32x32" href="images/favicon/favicon-32x32.png">
19
    <link rel="icon" type="image/png" sizes="96x96" href="images/favicon//favicon-96x96.png">
20
    <link rel="icon" type="image/png" sizes="16x16" href="images/favicon/favicon-16x16.png">
21 59661 k.triantaf
    <link href="images/favicon/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon"/>
22 59615 katerina.i
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
23 59508 katerina.i
</head>
24 59756 katerina.i
<body class="" style="" onload="success();">
25 59508 katerina.i
<div class="uk-offcanvas-content uk-height-viewport">
26 59654 k.triantaf
    <jsp:include page="header.jsp"/>
27 59508 katerina.i
    <!-- CONTENT STARTS HERE -->
28 59518 argiro.kok
    <div class=" uk-section  uk-margin-small-top uk-container uk-container-large" id="tm-main">
29
        <div class="uk-grid ">
30
            <div class="uk-width-1-4@m">
31 59661 k.triantaf
                <div class="uk-card uk-card-default uk-card-body">
32 59536 katerina.i
                    <div class="uk-h4">API Access</div>
33 59518 argiro.kok
                    <ul class="uk-nav uk-nav-default">
34
                        <li class=""><a href="./personalToken">Personal token</a></li>
35
                        <li class="uk-active"><a href="./registeredServices">Registered services</a></li>
36
                    </ul>
37
                </div>
38
            </div>
39
            <!-- CENTER SIDE -->
40
            <div class="uk-width-2-3@l uk-width-2-3@m">
41 59661 k.triantaf
                <div class="uk-grid" uk-grid>
42
                    <div class="uk-width-expand@m">
43
                        <h4 class="uk-margin-remove-top uk-text-bold uk-text-primary">Registered services</h4>
44 59714 katerina.i
                        <c:if test="${message != null}">
45
                            <div class="uk-text-danger uk-margin-small-bottom">${message}</div>
46
                            <c:remove var="message" scope="session"/>
47
                        </c:if>
48 60482 katerina.i
49 60484 katerina.i
50 59661 k.triantaf
                    </div>
51
                    <div class="uk-text-center uk-width-auto@m">
52
                        <c:choose>
53
                            <c:when test="${not reachedLimit}">
54
                                <a class="uk-button uk-button-primary" href="./registerService">
55
                                    <span class="uk-icon" uk-icon="icon:plus-circle"></span>
56
                                    <span class="uk-margin-small-left">New service</span>
57
                                </a>
58
                            </c:when>
59
                            <c:otherwise>
60
                                <button class="uk-button uk-button-default" disabled>
61
                                    <span class="uk-icon" uk-icon="icon:plus-circle"></span>
62
                                    <span class="uk-margin-small-left">New service</span>
63
                                </button>
64
                            </c:otherwise>
65
                        </c:choose>
66
                        <c:remove var="reachedLimit" scope="session"/>
67
                    </div>
68 59601 katerina.i
                </div>
69 60484 katerina.i
                <div class="uk-margin-top">
70
                    <div class="uk-alert-primary uk-alert uk-margin-top-remove uk-flex uk-flex-middle">
71
                        <span uk-icon="info"></span>
72
                        <span class="uk-margin-small-left">You can register up to 5 services.
73
                        For more information please read the <a href="https://develop.openaire.eu/authentication.html" target="_blank">OpenAIRE API Authentication documentation</a>.</span>
74
                    </div>
75
                    <c:if test="${reachedLimit}">
76
                        <div class="uk-alert-warning uk-flex uk-flex-middle uk-margin-small-top">
77
                            <span uk-icon="warning"></span>
78
                            <span class="uk-margin-small-left">You have reached the maximum size of allowed registered services.</span>
79
                        </div>
80
                    </c:if>
81 59661 k.triantaf
                    <c:if test="${empty registeredServices && showEmptyList}">
82
                        <div class="uk-text-center">You have not registered any service yet!</div>
83
                    </c:if>
84
                    <c:if test="${registeredServices.size() > 0}">
85
                        <ul class="uk-list uk-list-divider">
86 59518 argiro.kok
                            <li>
87 59733 katerina.i
                                <div class="uk-grid uk-child-width-1-4 uk-text-muted" uk-grid>
88 59518 argiro.kok
                                    <div>Name</div>
89 60339 katerina.i
                                    <div>Client Id</div>
90 59518 argiro.kok
                                    <div>Creation Date</div>
91
                                    <div>Actions</div>
92
                                </div>
93
                            </li>
94 59615 katerina.i
                            <c:forEach items="${registeredServices}" var="registeredService" varStatus="loop">
95 59661 k.triantaf
                                <c:set var="key" value="${registeredService.id}"/>
96
                                <li>
97 59733 katerina.i
                                    <div class="uk-grid uk-child-width-1-4" uk-grid>
98 59661 k.triantaf
                                        <div>
99
                                            <a uk-toggle="target: #details${registeredService.id}; animation: uk-animation-fade">
100
                                                <span>${registeredService.name}</span>
101
                                                <span class="space" uk-icon="icon:info;ratio:0.7"></span>
102
                                            </a>
103
                                        </div>
104 59733 katerina.i
                                        <div>
105 59806 k.triantaf
                                            <span>${registeredService.clientId}</span>
106 59733 katerina.i
                                        </div>
107 59661 k.triantaf
                                        <div><fmt:formatDate value="${registeredService.date}"
108
                                                             pattern="dd-MM-yyyy HH:mm"/>
109
                                        </div>
110
                                        <div>
111 59714 katerina.i
                                            <a href="./registerService?id=${registeredService.id}" class="uk-margin-small-right">
112 59661 k.triantaf
                                                <span uk-icon="pencil"></span>
113
                                            </a>
114
                                            <a class="uk-text-danger" uk-icon="trash" uk-toggle="target: #modal${registeredService.id}"></a>
115 59538 argiro.kok
116 59661 k.triantaf
                                                <!-- This is the modal -->
117
                                                <div id="modal${registeredService.id}" uk-modal>
118
                                                    <div class="uk-modal-dialog uk-modal-body">
119
                                                        <form name="delete${registeredService.id}"
120
                                                              id="delete${registeredService.id}" method="post">
121
                                                            <input type="hidden" name="id"
122
                                                                   value="${registeredService.id}"/>
123
                                                            <h2 class="uk-margin-remove-top">Delete service</h2>
124
                                                            <div class="uk-margin-medium-bottom">
125
                                                                Are you sure you want to delete the
126
                                                                '${registeredService.name}' service? You cannot undo
127
                                                                this action!
128
                                                            </div>
129
                                                            <div class="uk-text-right">
130
                                                                <button class="uk-button uk-button-default uk-modal-close" type="button">Cancel
131
                                                                </button>
132
                                                                <button class="uk-button uk-button-danger uk-margin-small-left" type="button"
133
                                                                        onclick="document.delete${registeredService.id}.submit();document.getElementById('modal${registeredService.id}').style.visibility='hidden';">
134
                                                                    Delete
135
                                                                </button>
136
                                                            </div>
137
                                                        </form>
138
                                                    </div>
139
                                                </div>
140 59508 katerina.i
                                        </div>
141
                                    </div>
142 59661 k.triantaf
                                </li>
143
                                <li id="details${registeredService.id}" hidden="hidden">
144
                                    <div class="uk-alert">
145
                                        <p><span class="uk-text-primary">Name:</span> ${services[key].clientName}</p>
146 60339 katerina.i
                                        <p><span class="uk-text-primary">Client Id:</span> ${services[key].clientId}</p>
147 59661 k.triantaf
                                        <p><span class="uk-text-primary">Scope:</span> openid</p>
148
                                        <p><span class="uk-text-primary">Grant type:</span> client credentials</p>
149 59821 k.triantaf
                                        <c:choose>
150
                                            <c:when test="${registeredService.keyType == null}">
151
                                                <p><span class="uk-text-primary">Client secret:</span> ${services[key].clientSecret}</p>
152
                                                <p><span class="uk-text-primary">Authentication Method</span> Client Secret Basic</p>
153
                                            </c:when>
154
                                            <c:otherwise>
155
                                                <p><span class="uk-text-primary">Authentication Method</span> Asymmetrically-signed JWT assertion</p>
156
                                                <p><span class="uk-text-primary">Token Endpoint Authentication Signing Algorithm</span> RSASSA using
157
                                                    SHA-256 hash algorithm</p>
158
                                                <p><span class="uk-text-primary">Public Key</span>
159
                                                <pre><code>${keys[key]}</code></pre>
160
                                                </p>
161
                                            </c:otherwise>
162
                                        </c:choose>
163 59661 k.triantaf
                                        <p><span class="uk-text-primary">Creation Date:</span>
164 59806 k.triantaf
                                            <jsp:useBean id="date" class="java.util.Date"/>
165
                                            <jsp:setProperty name="date" property="time" value="${services[key].clientIdIssuedAt*1000}"/>
166 59661 k.triantaf
                                            <fmt:formatDate value="${date}"
167
                                                            pattern="dd-MM-yyyy HH:mm"/>
168
                                        </p>
169
                                    </div>
170
                                </li>
171 59536 katerina.i
                            </c:forEach>
172 59518 argiro.kok
                        </ul>
173 59661 k.triantaf
                    </c:if>
174 59508 katerina.i
            </div>
175 59518 argiro.kok
            <!-- END OF CENTER SIDE -->
176 59508 katerina.i
        </div>
177 59806 k.triantaf
        </div>
178 59508 katerina.i
    </div>
179
    <!-- CONTENT ENDS HERE -->
180 59661 k.triantaf
    <c:import url="footer.jsp"/>
181 59508 katerina.i
</body>
182
</html>
183 59806 k.triantaf
<script>
184
    function success() {
185
        if('${success}' !=='')
186
            UIkit.modal.alert('${success}');
187
    }
188
</script>
189
<c:remove var="success" scope="session"/>
190 59756 katerina.i