client-oidc-keys.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
  2. <ol class="breadcrumb">
  3. <li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
  4. <li>{{client.clientId}}</li>
  5. </ol>
  6. <kc-tabs-client></kc-tabs-client>
  7. <form class="form-horizontal" name="keyForm" novalidate kc-read-only="!client.access.configure">
  8. <div class="form-group">
  9. <label class="col-md-2 control-label" for="useJwksUrl">{{:: 'use-jwks-url' | translate}}</label>
  10. <div class="col-sm-6">
  11. <input ng-model="useJwksUrl" name="useJwksUrl" id="useJwksUrl" ng-click="jwksUrlSwitchChange()" onoffswitch
  12. on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" />
  13. </div>
  14. <kc-tooltip>{{:: 'use-jwks-url.tooltip' | translate}}</kc-tooltip>
  15. </div>
  16. <div class="form-group" data-ng-show="useJwksUrl">
  17. <label class="col-md-2 control-label" for="jwksUrl">{{:: 'jwks-url' | translate}}</label>
  18. <div class="col-sm-6">
  19. <input class="form-control" type="text" name="jwksUrl" id="jwksUrl"
  20. data-ng-model="client.attributes['jwks.url']">
  21. </div>
  22. <kc-tooltip>{{:: 'jwks-url.tooltip' | translate}}</kc-tooltip>
  23. </div>
  24. <div class="form-group">
  25. <label class="col-md-2 control-label" for="useJwksString">{{:: 'use-jwks-string' | translate}}</label>
  26. <div class="col-sm-6">
  27. <input ng-model="useJwksString" name="useJwksString" id="useJwksString" ng-click="jwksStringSwitchChange()"
  28. onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" />
  29. </div>
  30. <kc-tooltip>{{:: 'use-jwks-string.tooltip' | translate}}</kc-tooltip>
  31. </div>
  32. <div class="form-group" data-ng-show="useJwksString">
  33. <label class="col-md-2 control-label" for="jwksString">{{:: 'jwks-string' | translate}}</label>
  34. <div class="col-sm-10">
  35. <textarea type="text" id="jwksString" name="jwksString" class="form-control" rows="5" kc-select-action="click"
  36. data-ng-model="client.attributes['jwks.string']"></textarea>
  37. </div>
  38. <kc-tooltip>{{:: 'jwks-string.tooltip' | translate}}</kc-tooltip>
  39. </div>
  40. <div data-ng-show="!useJwksUrl && !useJwksString">
  41. <div class="form-group" data-ng-show="signingKeyInfo.certificate">
  42. <label class="col-md-2 control-label" for="signingCert">{{:: 'certificate' | translate}}</label>
  43. <kc-tooltip>{{:: 'certificate.tooltip' | translate}}</kc-tooltip>
  44. <div class="col-sm-10" data-ng-show="signingKeyInfo.certificate">
  45. <textarea type="text" id="signingCert" name="signingCert" class="form-control" rows="5"
  46. kc-select-action="click" readonly>{{signingKeyInfo.certificate}}</textarea>
  47. </div>
  48. </div>
  49. <div class="form-group" data-ng-show="signingKeyInfo.publicKey">
  50. <label class="col-md-2 control-label" for="publicKey">{{:: 'publicKey' | translate}}</label>
  51. <kc-tooltip>{{:: 'publicKey.tooltip' | translate}}</kc-tooltip>
  52. <div class="col-sm-10" data-ng-show="signingKeyInfo.publicKey">
  53. <textarea type="text" id="publicKey" name="publicKey" class="form-control" rows="5" kc-select-action="click"
  54. readonly>{{signingKeyInfo.publicKey}}</textarea>
  55. </div>
  56. </div>
  57. <div class="form-group" data-ng-show="signingKeyInfo.kid">
  58. <label class="col-md-2 control-label" for="kid">{{:: 'kid' | translate}}</label>
  59. <kc-tooltip>{{:: 'kid.tooltip' | translate}}</kc-tooltip>
  60. <div class="col-sm-6">
  61. <div class="row">
  62. <div class="col-sm-6">
  63. <input readonly kc-select-action="click" class="form-control" type="text" id="kid" name="kid"
  64. data-ng-model="signingKeyInfo.kid">
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. <div class="form-group" data-ng-hide="signingKeyInfo.certificate || signingKeyInfo.publicKey">
  70. <label class="col-md-2 control-label"></label>
  71. <div class="col-sm-6">
  72. <div class="row">
  73. <div class="col-sm-6">{{:: 'no-client-certificate-configured' | translate}}</div>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. <div class="form-group">
  79. <div class="col-md-10 col-md-offset-2" data-ng-show="client.access.configure">
  80. <button class="btn btn-default" type="submit" data-ng-click="generateSigningKey()">{{::
  81. 'gen-new-keys-and-cert' | translate}}</button>
  82. <button data-ng-disabled="useJwksUrl || useJwksString" class="btn btn-default" type="submit"
  83. data-ng-click="importCertificate()">{{:: 'import-certificate' | translate}}</button>
  84. <button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
  85. <button kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
  86. </div>
  87. </div>
  88. </form>
  89. </div>
  90. <kc-menu></kc-menu>