webauthn-policy.html 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
  2. <h1>{{:: 'authentication' | translate}}</h1>
  3. <span data-ng-init="redirectIfWebAuthnDisabled()"></span>
  4. <kc-tabs-authentication></kc-tabs-authentication>
  5. <form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageRealm">
  6. <div class="form-group">
  7. <label for="name" class="col-md-2 control-label"><span class="required">*</span> {{:: 'webauthn-rp-entity-name' | translate}}</label>
  8. <div class="col-md-2">
  9. <div>
  10. <input id="name" type="text" ng-model="realm.webAuthnPolicyRpEntityName" class="form-control">
  11. </div>
  12. </div>
  13. <kc-tooltip>{{:: 'webauthn-rp-entity-name.tooltip' | translate}}</kc-tooltip>
  14. </div>
  15. <div class="form-group">
  16. <label for="sigalg" class="col-md-2 control-label">{{:: 'webauthn-signature-algorithms' | translate}}</label>
  17. <div class="col-md-2">
  18. <div>
  19. <select id="sigalg" ng-model="realm.webAuthnPolicySignatureAlgorithms" class="form-control" multiple>
  20. <option value="ES256">ES256</option>
  21. <option value="ES384">ES384</option>
  22. <option value="ES512">ES512</option>
  23. <option value="RS256">RS256</option>
  24. <option value="RS384">RS384</option>
  25. <option value="RS512">RS512</option>
  26. <option value="RS1">RS1</option>
  27. </select>
  28. </div>
  29. </div>
  30. <kc-tooltip>{{:: 'webauthn-signature-algorithms.tooltip' | translate}}</kc-tooltip>
  31. </div>
  32. <div class="form-group">
  33. <label for="rpid" class="col-md-2 control-label">{{:: 'webauthn-rp-id' | translate}}</label>
  34. <div class="col-md-2">
  35. <div>
  36. <input id="rpid" type="text" ng-model="realm.webAuthnPolicyRpId" class="form-control">
  37. </div>
  38. </div>
  39. <kc-tooltip>{{:: 'webauthn-rp-id.tooltip' | translate}}</kc-tooltip>
  40. </div>
  41. <div class="form-group">
  42. <label for="attpref" class="col-md-2 control-label">{{:: 'webauthn-attestation-conveyance-preference' | translate}}</label>
  43. <div class="col-md-2">
  44. <div>
  45. <select id="attpref" ng-model="realm.webAuthnPolicyAttestationConveyancePreference" class="form-control">
  46. <option value="not specified"></option>
  47. <option value="none">none</option>
  48. <option value="indirect">indirect</option>
  49. <option value="direct">direct</option>
  50. </select>
  51. </div>
  52. </div>
  53. <kc-tooltip>{{:: 'webauthn-attestation-conveyance-preference.tooltip' | translate}}</kc-tooltip>
  54. </div>
  55. <div class="form-group">
  56. <label for="authnatt" class="col-md-2 control-label">{{:: 'webauthn-authenticator-attachment' | translate}}</label>
  57. <div class="col-md-2">
  58. <div>
  59. <select id="authnatt" ng-model="realm.webAuthnPolicyAuthenticatorAttachment" class="form-control">
  60. <option value="not specified"></option>
  61. <option value="platform">platform</option>
  62. <option value="cross-platform">cross-platform</option>
  63. </select>
  64. </div>
  65. </div>
  66. <kc-tooltip>{{:: 'webauthn-authenticator-attachment.tooltip' | translate}}</kc-tooltip>
  67. </div>
  68. <div class="form-group">
  69. <label for="reqresident" class="col-md-2 control-label">{{:: 'webauthn-require-resident-key' | translate}}</label>
  70. <div class="col-md-2">
  71. <div>
  72. <select id="reqresident" ng-model="realm.webAuthnPolicyRequireResidentKey" class="form-control">
  73. <option value="not specified"></option>
  74. <option value="Yes">Yes</option>
  75. <option value="No">No</option>
  76. </select>
  77. </div>
  78. </div>
  79. <kc-tooltip>{{:: 'webauthn-require-resident-key.tooltip' | translate}}</kc-tooltip>
  80. </div>
  81. <div class="form-group">
  82. <label for="usrverify" class="col-md-2 control-label">{{:: 'webauthn-user-verification-requirement' | translate}}</label>
  83. <div class="col-md-2">
  84. <div>
  85. <select id="usrverify" ng-model="realm.webAuthnPolicyUserVerificationRequirement" class="form-control">
  86. <option value="not specified"></option>
  87. <option value="required">required</option>
  88. <option value="preferred">preferred</option>
  89. <option value="discouraged">discouraged</option>
  90. </select>
  91. </div>
  92. </div>
  93. <kc-tooltip>{{:: 'webauthn-user-verification-requirement.tooltip' | translate}}</kc-tooltip>
  94. </div>
  95. <div class="form-group">
  96. <label for="timeout" class="col-md-2 control-label">{{:: 'webauthn-create-timeout' | translate}}</label>
  97. <div class="col-md-2">
  98. <div>
  99. <input id="timeout" type="number" min="0" max="31536" ng-model="realm.webAuthnPolicyCreateTimeout" class="form-control"/>
  100. </div>
  101. </div>
  102. <kc-tooltip>{{:: 'webauthn-create-timeout.tooltip' | translate}}</kc-tooltip>
  103. </div>
  104. <div class="form-group">
  105. <label for="avoidsame" class="col-md-2 control-label">{{:: 'webauthn-avoid-same-authenticator-register' | translate}}</label>
  106. <div class="col-md-2">
  107. <div>
  108. <input id="avoidsame" ng-model="realm.webAuthnPolicyAvoidSameAuthenticatorRegister" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}"/>
  109. </div>
  110. </div>
  111. <kc-tooltip>{{:: 'webauthn-avoid-same-authenticator-register.tooltip' | translate}}</kc-tooltip>
  112. </div>
  113. <div class="form-group">
  114. <label for="type" class="col-md-2 control-label">{{:: 'webauthn-acceptable-aaguids' | translate}}</label>
  115. <div class="col-sm-4">
  116. <div class="input-group" ng-repeat="(i, acceptableAaguid) in realm.webAuthnPolicyAcceptableAaguids track by $index">
  117. <input id="type" class="form-control webauthn-acceptable-aaguid" ng-model="realm.webAuthnPolicyAcceptableAaguids[i]">
  118. <div class="input-group-btn">
  119. <button class="btn btn-default" type="button" data-ng-click="deleteAcceptableAaguid($index)">
  120. <span class="fa fa-minus"></span>
  121. </button>
  122. </div>
  123. </div>
  124. <div class = "input-group">
  125. <input class="form-control" ng-model="newAcceptableAaguid" id="newAcceptableAaguid">
  126. <div class="input-group-btn">
  127. <button class="btn btn-default" type="button" data-ng-click="newAcceptableAaguid.length > 0 && addAcceptableAaguid()">
  128. <span class="fa fa-plus"></span>
  129. </button>
  130. </div>
  131. </div>
  132. </div>
  133. <kc-tooltip>{{:: 'webauthn-acceptable-aaguids.tooltip' | translate}}</kc-tooltip>
  134. </div>
  135. <div class="form-group" data-ng-show="access.manageRealm">
  136. <div class="col-md-10 col-md-offset-2">
  137. <button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
  138. <button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
  139. </div>
  140. </div>
  141. </form>
  142. </div>
  143. <kc-menu></kc-menu>