Project

General

Profile

1
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2
<!DOCTYPE html>
3
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
4
<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
    <title>OpenAIRE - Registered services</title>
11
    <script src="./js/jquery.js"></script>
12
    <script src="./js/uikit.js"></script>
13
    <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
    <link href="images/favicon/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
22
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
23
</head>
24
<body class="" style="">
25
<div class="uk-offcanvas-content uk-height-viewport">
26
    <!-- MENU STARTS HERE -->
27
    <!-- MAIN MENU STARTS HERE -->
28
    <div class="tm-header  tm-header-transparent" uk-header="">
29
        <div class="uk-container uk-container-expand">
30
            <nav class="uk-navbar" uk-navbar="{&quot;align&quot;:&quot;left&quot;}">
31
                <div class="uk-navbar-center">
32
                    <div class="uk-logo uk-navbar-item">
33
                        <img alt="OpenAIRE" class="uk-responsive-height" src="./images/Logo_Horizontal.png">
34
                    </div>
35
                </div>
36
                <!-- user menu -->
37
                <div class=uk-navbar-right>
38
                    <ul class="uk-navbar-nav user_actions">
39
                        <c:choose>
40
                            <c:when test="${not authenticated}">
41
                                <li><a href="./openid_connect_login"> Sign in </a></li>
42
                            </c:when>
43
                            <c:otherwise>
44
                            <li>
45
                                <a class="login uk-icon" aria-expanded="false">
46
                                <svg height="60" width="60">
47
                                    <span uk-icon="icon: user; ratio: 2"></span></svg>
48
                            </a>
49
                            </c:otherwise>
50
                        </c:choose>
51
                            <div class="uk-navbar-dropdown uk-navbar-dropdown-bottom-right" id="userMenu" style="left: 344.433px; top: 100px;">
52
                                <div class="uk-navbar-dropdown-grid uk-child-width-1-1 uk-grid uk-grid-stack" uk-grid="">
53
                                    <div class="uk-first-column uk-height-max-medium uk-overflow-auto">
54
                                        <ul class="uk-nav uk-navbar-dropdown-nav">
55
                                            <li class=""><a href="./personalToken">Personal token</a></li>
56
                                            <li class=""><a href="./registeredServices">Registered services</a></li>
57
                                            <li class="uk-nav-divider "></li>
58
                                            <li>
59
                                                <a href="./openid_logout" id="logout">Log out</a>
60
                                            </li>
61
                                        </ul>
62
                                    </div>
63
                                </div>
64
                            </div>
65
                        </li>
66
                    </ul>
67
                </div>
68
                <!-- USER MENU ENDS HERE -->
69
            </nav>
70
        </div>
71
    </div>
72
    <!-- MENU ENDS HERE -->
73
    <!-- CONTENT STARTS HERE -->
74
    <div class="first_page_section uk-section-default uk-section uk-padding-remove-vertical">
75
        <div class="first_page_banner_headline uk-grid-collapse uk-flex-middle uk-margin-remove-vertical uk-grid" uk-grid="">
76
        </div>
77
    </div>
78
    <div class=" uk-section  uk-margin-small-top uk-container uk-container-large" id="tm-main">
79
        <div class="uk-grid ">
80
            <div class="uk-width-1-4@m">
81
                <div  class="uk-card uk-card-default uk-card-body">
82
                    <div class="uk-h4">API Access</div>
83
                    <ul class="uk-nav uk-nav-default">
84
                        <li class=""><a href="./personalToken">Personal token</a></li>
85
                        <li class="uk-active"><a href="./registeredServices">Registered services</a></li>
86
                    </ul>
87
                </div>
88
            </div>
89
            <!-- CENTER SIDE -->
90
            <div class="uk-width-2-3@l uk-width-2-3@m">
91
                <p class="uk-text-success uk-text-medium uk-center">
92
                    ${success}
93
                </p>
94
                <c:remove var="success" scope="session" />
95

    
96
                <div id="server_error" class="uk-text-danger uk-text-medium uk-container-center">
97
                    ${message}
98
                </div>
99
                <c:remove var="message" scope="session" />
100

    
101
                <h2 class="uk-h2 uk-margin-small-bottom">Registered services</h2>
102

    
103
                <p class="uk-alert-primary uk-text-medium uk-float-left">
104
                    <span uk-icon="info"></span> You can register up to 5 services.
105
                </p>
106

    
107
                <c:if test="${reachedLimit}">
108
                    <p class="uk-alert-warning uk-text-medium uk-float-left">
109
                        <span uk-icon="warning"></span> You have reached the maximum size of allowed registered services.
110
                    </p>
111
                </c:if>
112

    
113
                <div class="middle-box loginscreen animated fadeInDown ">
114
                    <div class="uk-width-1-1@m uk-width-1-1@s">
115
                        <c:if test="${empty registeredServices && showEmptyList}">
116
                            <p>You have not registered any service yet!</p>
117
                        </c:if>
118

    
119
                        <c:if test="${registeredServices.size() > 0}">
120

    
121
                        <ul class="uk-list">
122
                            <li>
123
                                <div class="uk-grid uk-child-width-1-3 uk-text-muted">
124
                                    <div>Name</div>
125
                                    <div>Creation Date</div>
126
                                    <div>Actions</div>
127
                                </div>
128
                            </li>
129
                            <c:forEach items="${registeredServices}" var="registeredService" varStatus="loop">
130
                            <c:set var="key" value="${registeredService.id}"/>
131
                            <li>
132
                                <hr class="uk-margin-remove-top">
133
                                <div class="uk-grid uk-child-width-1-3">
134
                                    <div ><a uk-toggle="target: #details${registeredService.id}; animation: uk-animation-fade">${registeredService.name} <span uk-icon="icon:info;ratio:0.7"></span></a>
135
                                    </div>
136
                                    <div><fmt:formatDate value="${registeredService.date}" pattern="dd-MM-yyyy HH:mm" /></div>
137
                                    <div>
138

    
139
                                        <a href="./editRegisteredService?id=${registeredService.id}"><span class="uk-margin-small-right" uk-icon="pencil" ></span>
140
                                        <span class="uk-margin-small-right uk-text-danger" uk-icon="trash" uk-toggle="target: #modal${registeredService.id}"></span>
141

    
142
                                        <!-- This is the modal -->
143
                                        <div id="modal${registeredService.id}" uk-modal>
144
                                            <div class="uk-modal-dialog uk-modal-body">
145
                                                <form name="delete${registeredService.id}" id="delete${registeredService.id}" method="post">
146
                                                    <input type="hidden" name="id" value="${registeredService.id}"/>
147
                                                    <h2 class="uk-modal-title">Delete service</h2>
148
                                                    <p>Are you sure you want to delete the '${registeredService.name}' service? You cannot undo this action!</p>
149
                                                    <p class="uk-text-right">
150
                                                        <button class="uk-button uk-button-default uk-modal-close" type="button">Cancel</button>
151
                                                        <button class="uk-button uk-button-danger" type="button" onclick="document.delete${registeredService.id}.submit();document.getElementById('modal${registeredService.id}').style.visibility='hidden';">Delete</button>
152
                                                    </p>
153
                                                </form>
154
                                            </div>
155
                                        </div>
156
                                    </div>
157
                                </div>
158
                            </li>
159
                            <li id="details${registeredService.id}" hidden="hidden"  >
160
                                <div class="uk-alert">
161
                                    <p><em>Name</em>: ${services[key].clientName}</p>
162
                                    <p><em>Description</em>: ${services[key].clientDescription}</p>
163
                                    <p><em>Scope</em>: openid</p>
164
                                    <p><em>Grant type</em>: client credentials</p>
165
                                    <p><em>Authentication Method</em>: Asymmetrically-signed JWT assertion</p>
166
                                    <p><em>Token Endpoint Authentication Signing Algorithm</em>: RSASSA using SHA-256 hash algorithm</p>
167
                                    <p><em>Public Key Set(*)</em>: <pre><code>${keys[key]}</code></pre></p>
168
                                    <p><em>Creation Date</em>: ${services[key].createdAt}</p>
169
                                    </p>
170
                                </div>
171
                            </li>
172
                            </c:forEach>
173
                        </ul>
174
                        </c:if>
175

    
176
                        <div class="uk-text-center">
177
                            <c:choose>
178
                                <c:when test="${not reachedLimit}">
179
                                    <a class="uk-button uk-button-default uk-button-primary uk-margin-top" href="./registerService">
180
                                        <span class="uk-icon" uk-icon="icon:plus-circle"></span> New service
181
                                    </a>
182
                                </c:when>
183
                                <c:otherwise>
184
                                    <button class="uk-button uk-button-default uk-margin-top" disabled>
185
                                        <span class="uk-icon" uk-icon="icon:plus-circle"> New service</span>
186
                                    </button>
187
                                </c:otherwise>
188
                            </c:choose>
189
                            <c:remove var="reachedLimit" scope="session"/>
190
                        </div>
191
                    </div>
192

    
193
                </div>
194
            </div>
195
            <!-- END OF CENTER SIDE -->
196
        </div>
197
    </div>
198
    <!-- CONTENT ENDS HERE -->
199
    <!-- FOOTER STARTS HERE-->
200
    <div class="custom-footer"  style="z-index: 200;">
201
          <div class="uk-section-primary uk-section uk-section-small">
202
            <div class="uk-container">
203
              <div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
204
                <div class="uk-width-1-1@m uk-first-column">
205
                  <div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-center">
206
                    <img alt="OpenAIRE" class="el-image" src="./images/Logo_Horizontal_white_small.png">
207
                  </div>
208
                  <div class="footer-license uk-margin uk-margin-remove-bottom uk-text-center uk-text-lead">
209
                    <div><a href="http://creativecommons.org/licenses/by/4.0/" target="_blank" rel="license"><img alt="Creative" src="./images/80x15.png" style="height: auto; max-width: 100%; vertical-align: middle;"></a>&nbsp;UNLESS OTHERWISE INDICATED, ALL MATERIALS CREATED BY THE OPENAIRE CONSORTIUM ARE LICENSED UNDER A&nbsp;<a href="http://creativecommons.org/licenses/by/4.0/" rel="license">CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE</a>.</div>
210
                    <div>OPENAIRE IS POWERED BY&nbsp;<a href="http://www.d-net.research-infrastructures.eu/">D-NET</a>.</div>
211
                  </div>
212
                  <div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-right">
213
                    <a class="uk-totop uk-icon" href="#" uk-scroll="" uk-totop="">
214
                    </a>
215
                  </div>
216
                </div>
217
              </div>
218
            </div>
219
          </div>
220
        </div>
221
</div>
222
</body>
223
</html>
(15-15/25)