123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
- <%@ taglib prefix="s" uri="http://www.connsec.com/tags" %>
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
- <%@ page import="org.maxkey.constants.*"%>
- <script type="text/javascript">
- <!--
- $(function(){
- });
- //-->
- </script>
- <form id="actionForm_app" method="post" type="label" autoclose="true"
- action="<s:Base/>/apps/oauth20/add"
- forward="<s:Base/>/apps/list"
- enctype="multipart/form-data">
- <!-- content -->
- <!--table-->
- <table width="960" class="datatable" >
- <tbody>
- <tr>
- <td ><jsp:include page="../appAddCommon.jsp"/></td>
- </tr>
- <tr>
- <td>
- <table width="960" class="datatable" >
- <tbody>
-
- <tr>
- <td colspan=4><s:Locale code="apps.oauth.v2.0.info" /></td>
- </tr>
- <tr>
- <th style="width:15%;"><s:Locale code="apps.oauth.v2.0.clientId" />:</th>
- <td style="width:35%;">${model.clientId}
- <input type="hidden" id="clientId" name="clientId" title="" value="${model.clientId}"/>
-
- </td>
- <th style="width:15%;"><s:Locale code="apps.oauth.v2.0.clientSecret" />:</th>
- <td style="width:35%;">
- <span id="clientSecret_text">${model.clientSecret}</span>
- <input type="hidden" id="clientSecret" name="clientSecret" title="" value="${model.clientSecret}"/>
-
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.oauth.scope" />:</th>
- <td colspan="3">
- <table class="hidetable" style="width:100%;">
- <tr>
- <td>read<input type="checkbox" id="scope_trust" name="scope" value="read" checked /></td>
- <td>write<input type="checkbox" id="scope_write" name="scope" value="write"/></td>
- <td>trust<input type="checkbox" id="scope_trust" name="scope" value="trust"/></td>
- <td>openid<input type="checkbox" id="scope_openid" name="scope" value="openid"/></td>
- <td>profile<input type="checkbox" id="scope_profile" name="scope" value="profile"/></td>
- <td>email<input type="checkbox" id="scope_email" name="scope" value="email"/></td>
- <td>phone<input type="checkbox" id="scope_phone" name="scope" value="phone"/></td>
- <td>address<input type="checkbox" id="scope_address" name="scope" value="address"/></td>
- <td>all<input type="checkbox" id="scope_all" name="scope" value="all"/></td>
- <td><b class="orange">*</b><label for="scope"></label></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.oauth.GrantTypes" />:</th>
- <td colspan="3">
- <table class="hidetable" style="width:100%;">
- <tr>
- <td>authorization_code | code<input type="checkbox" id="grantTypes_authorization_code" name="authorizedGrantTypes" value="authorization_code" checked /></td>
- <td>password<input type="checkbox" id="grantTypes_trust" name="authorizedGrantTypes" value="password"/></td>
- <td>implicit<input type="checkbox" id="grantTypes_implicit" name="authorizedGrantTypes" value="implicit"/></td>
- <td>refresh_token<input type="checkbox" id="grantTypes_refresh_token" name="authorizedGrantTypes" value="refresh_token"/></td>
- <td>id_token<input type="checkbox" id="grantTypes_id_token" name="authorizedGrantTypes" value="id_token"/></td>
- <td>token<input type="checkbox" id="grantTypes_token" name="authorizedGrantTypes" value="token"/></td>
- <td><b class="orange">*</b><label for="authorizedGrantTypes"></label></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.oauth.registeredRedirectUris" />:</th>
- <td colspan=3>
- <textarea id="registeredRedirectUris" name="registeredRedirectUris" rows="4" cols="60"></textarea>
- <b class="orange">*</b><label for="registeredRedirectUris"></label>
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.oauth.accessTokenValiditySeconds" />:</th>
- <td >
- <input type="text" id="accessTokenValiditySeconds" name="accessTokenValiditySeconds" title="" value="180"/>
- <b class="orange">*</b><label for="accessTokenValiditySeconds"></label>
- </td>
- <th><s:Locale code="apps.oauth.refreshTokenValiditySeconds" />:</th>
- <td>
- <input type="text" id="refreshTokenValiditySeconds" name="refreshTokenValiditySeconds" title="" value="180"/>
- <b class="orange">*</b><label for="refreshTokenValiditySeconds"></label>
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.connect.idTokenSigningAlgorithm" />:</th>
- <td >
- <select id="idTokenSigningAlgorithm" name="idTokenSigningAlgorithm" >
- <option value="none" selected>No digital signature</option>
- <option value="HS256" >HMAC using SHA-256 hash algorithm</option>
- <option value="HS384" >HMAC using SHA-384 hash algorithm</option>
- <option value="HS512" >HMAC using SHA-512 hash algorithm</option>
- <option value="RS256" >RSASSA using SHA-256 hash algorithm</option>
- <option value="RS384" >RSASSA using SHA-384 hash algorithm</option>
- <option value="RS512" >RSASSA using SHA-512 hash algorithm</option>
- <option value="ES256" >ECDSA using P-256 curve and SHA-256 hash algorithm</option>
- <option value="ES384" >ECDSA using P-384 curve and SHA-384 hash algorithm</option>
- <option value="ES512" >ECDSA using P-512 curve and SHA-512 hash algorithm</option>
- </select>
- </td>
- <th><s:Locale code="apps.connect.userInfoSigningAlgorithm" />:</th>
- <td >
- <select id="userInfoSigningAlgorithm" name="userInfoSigningAlgorithm" >
- <option value="none" selected>No digital signature</option>
- <option value="HS256" >HMAC using SHA-256 hash algorithm</option>
- <option value="HS384" >HMAC using SHA-384 hash algorithm</option>
- <option value="HS512" >HMAC using SHA-512 hash algorithm</option>
- <option value="RS256" >RSASSA using SHA-256 hash algorithm</option>
- <option value="RS384" >RSASSA using SHA-384 hash algorithm</option>
- <option value="RS512" >RSASSA using SHA-512 hash algorithm</option>
- <option value="ES256" >ECDSA using P-256 curve and SHA-256 hash algorithm</option>
- <option value="ES384" >ECDSA using P-384 curve and SHA-384 hash algorithm</option>
- <option value="ES512" >ECDSA using P-512 curve and SHA-512 hash algorithm</option>
- </select>
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.connect.jwksUri" />:</th>
- <td colspan =3>
- <input type="text" id="jwksUri" name="jwksUri" title="" value="${model.jwksUri}"/>
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.connect.idTokenEncryptedAlgorithm" />:</th>
- <td >
- <select id="idTokenEncryptedAlgorithm" name="idTokenEncryptedAlgorithm" >
- <option value="none" selected >No encryption</option>
- <option value="RSA1_5" >RSAES-PKCS1-V1_5</option>
- <option value="RSA-OAEP" >RSAES using Optimal Asymmetric Encryption Padding (OAEP)</option>
- <option value="A128KW">AES Key Wrap Algorithm using 128 bit keys </option>
- <option value="A256KW">AES Key Wrap Algorithm using 256 bit keys</option>
- <option value="dir" >Direct use of a shared symmetric key as the Content Master Key (CMK) for the block encryption step</option>
- <option value="ECDH-ES">Elliptic Curve Diffie-Hellman Ephemeral Static key agreement using the Concat KDF, with the agreed-upon key being used directly as the Content Master Key (CMK)</option>
- <option value="ECDH-ES+A128KW">Elliptic Curve Diffie-Hellman Ephemeral Static key agreement per ECDH-ES and Section 4.7, but where the agreed-upon key is used to wrap the Content Master Key (CMK) with the A128KW function</option>
- <option value="ECDH-ES+A256KW">Elliptic Curve Diffie-Hellman Ephemeral Static key agreement per ECDH-ES and Section 4.7, but where the agreed-upon key is used to wrap the Content Master Key (CMK) with the A256KW function</option>
-
- </select>
- </td>
- <th><s:Locale code="apps.connect.userInfoEncryptedAlgorithm" />:</th>
- <td >
- <select id="userInfoEncryptedAlgorithm" name="userInfoEncryptedAlgorithm" >
- <option value="none" selected >No encryption</option>
- <option value="RSA1_5" >RSAES-PKCS1-V1_5</option>
- <option value="RSA-OAEP" >RSAES using Optimal Asymmetric Encryption Padding (OAEP)</option>
- <option value="A128KW">AES Key Wrap Algorithm using 128 bit keys </option>
- <option value="A256KW">AES Key Wrap Algorithm using 256 bit keys</option>
- <option value="dir" >Direct use of a shared symmetric key as the Content Master Key (CMK) for the block encryption step</option>
- <option value="ECDH-ES">Elliptic Curve Diffie-Hellman Ephemeral Static key agreement using the Concat KDF, with the agreed-upon key being used directly as the Content Master Key (CMK)</option>
- <option value="ECDH-ES+A128KW">Elliptic Curve Diffie-Hellman Ephemeral Static key agreement per ECDH-ES and Section 4.7, but where the agreed-upon key is used to wrap the Content Master Key (CMK) with the A128KW function</option>
- <option value="ECDH-ES+A256KW">Elliptic Curve Diffie-Hellman Ephemeral Static key agreement per ECDH-ES and Section 4.7, but where the agreed-upon key is used to wrap the Content Master Key (CMK) with the A256KW function</option>
-
- </select>
- </td>
- </tr>
-
- <tr>
- <th><s:Locale code="apps.connect.idTokenEncryptionMethod" />:</th>
- <td >
- <select id="idTokenEncryptionMethod" name="idTokenEncryptionMethod" >
- <option value="none" selected>No encryption</option>
- <option value="A128CBC+HS256" >Composite Authenticated Encryption algorithm using AES in Cipher Block Chaining (CBC) mode with PKCS #5 padding with an integrity calculation using HMAC SHA-256, using a 256 bit CMK (and 128 bit CEK)</option>
- <option value="A256CBC+HS512" >Composite Authenticated Encryption algorithm using AES in CBC mode with PKCS #5 padding with an integrity calculation using HMAC SHA-512, using a 512 bit CMK (and 256 bit CEK)</option>
- <option value="A128GCM" >AES GCM using 128 bit keys</option>
- <option value="A256GCM" >AES GCM using 256 bit keys</option>
- </select>
- </td>
- <th><s:Locale code="apps.connect.userInfoEncryptionMethod" />:</th>
- <td >
- <select id="userInfoEncryptionMethod" name="userInfoEncryptionMethod" >
- <option value="none" selected>No encryption</option>
- <option value="A128CBC+HS256" >Composite Authenticated Encryption algorithm using AES in Cipher Block Chaining (CBC) mode with PKCS #5 padding with an integrity calculation using HMAC SHA-256, using a 256 bit CMK (and 128 bit CEK)</option>
- <option value="A256CBC+HS512" >Composite Authenticated Encryption algorithm using AES in CBC mode with PKCS #5 padding with an integrity calculation using HMAC SHA-512, using a 512 bit CMK (and 256 bit CEK)</option>
- <option value="A128GCM" >AES GCM using 128 bit keys</option>
- <option value="A256GCM" >AES GCM using 256 bit keys</option>
- </select>
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.oauth.approvalPrompt" />:</th>
- <td >
- <select id="approvalPrompt" name="approvalPrompt" >
- <option value="force" selected>
- <s:Locale code="apps.oauth.approvalPrompt.force" /></option>
- <option value="auto" >
- <s:Locale code="apps.oauth.approvalPrompt.auto" /></option>
- </select>
- </td>
- <th><s:Locale code="apps.isAdapter" />:</th>
- <td >
- <select id="isAdapter" name="isAdapter" >
- <option value="0" selected>
- <s:Locale code="apps.isAdapter.no" /></option>
- <option value="1">
- <s:Locale code="apps.isAdapter.yes" /></option>
- </select>
- </td>
- </tr>
- <tr>
- <th><s:Locale code="apps.adapter" />:</th>
- <td colspan =3>
- <input type="text" id="adapter" name="adapter" title="" value=""/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <input id="_method" type="hidden" name="_method" value="post"/>
- <input id="status" type="hidden" name="status" value="1"/>
- <input class="button" id="submitBtn" type="submit" value="<s:Locale code="button.text.save" />"/>
- <input class="button" id="backBtn" type="button" value="<s:Locale code="button.text.cancel" />"/>
- </form>
|