2021-03-17 14:40:56 +00:00
<div class="consul-auth-method-view">
{{ # if ( eq @ item .Type 'kubernetes' ) }}
<dl>
<dt> {{ t 'models.auth-method.Type' }} </dt>
<dd><Consul::AuthMethod::Type @item= {{ @ item }} /></dd>
{{ # each ( array "MaxTokenTTL" "TokenLocality" "DisplayName" "Description" ) as | value | }}
{{ # if ( get @ item value ) }}
<dt> {{ t ( concat "models.auth-method." value ) }} </dt>
<dd> {{ get @ item value }} </dd>
{{ / if }}
{{ / each }}
{{ # if @ item .Config .Host }}
<dt> {{ t 'models.auth-method.Config.Host' }} </dt>
<dd>
<CopyButton @value= {{ @ item .Config .Host }} @name= {{ t 'models.auth-method.Config.Host' }} />
<span> {{ @ item .Config .Host }} </span>
</dd>
{{ / if }}
{{ # if @ item .Config .CACert }}
<dt> {{ t 'models.auth-method.Config.CACert' }} </dt>
<dd>
<Certificate @item= {{ @ item .Config .CACert }} @name= {{ t 'models.auth-method.Config.CACert' }} />
</dd>
{{ / if }}
{{ # if @ item .Config .ServiceAccountJWT }}
<dt> {{ t 'models.auth-method.Config.ServiceAccountJWT' }} </dt>
<dd>
<CopyButton @value= {{ @ item .Config .ServiceAccountJWT }} @name= {{ t 'models.auth-method.Config.ServiceAccountJWT' }} />
<span>
{{ @ item .Config .ServiceAccountJWT }}
</span>
</dd>
{{ / if }}
</dl>
{{ else }}
<section class="meta">
<dl>
<dt>Type</dt>
<dd><Consul::AuthMethod::Type @item= {{ @ item }} /></dd>
{{ # each ( array "MaxTokenTTL" "TokenLocality" "DisplayName" "Description" ) as | value | }}
{{ # if ( get @ item value ) }}
<dt> {{ t ( concat "models.auth-method." value ) }} </dt>
<dd> {{ get @ item value }} </dd>
{{ / if }}
{{ / each }}
{{ # if ( eq @ item .Type 'jwt' ) }}
{{ # if @ item .Config .JWKSURL }}
<dt> {{ t 'models.auth-method.Config.JWKSURL' }} </dt>
<dd>
<CopyButton @value= {{ @ item .Config .JWKSURL }} @name= {{ t 'models.auth-method.Config.JWKSURL' }} />
<span> {{ @ item .Config .JWKSURL }} </span>
</dd>
<dt> {{ t 'models.auth-method.Config.JWKSCACert' }} </dt>
<dd>
<Certificate @item= {{ @ item .Config .JWKSCACert }} @name= {{ t 'models.auth-method.Config.JWKSCACert' }} />
</dd>
{{ / if }}
{{ # if @ item .Config .JWTValidationPubKeys }}
<dt> {{ t 'models.auth-method.Config.JWTValidationPubKeys' }} </dt>
<dd>
<Certificate @item= {{ @ item .Config .JWTValidationPubKeys }} @name= {{ t 'models.auth-method.Config.JWTValidationPubKeys' }} />
</dd>
{{ / if }}
{{ # if @ item .Config .OIDCDiscoveryURL }}
<dt> {{ t 'models.auth-method.Config.OIDCDiscoveryURL' }} </dt>
<dd>
<CopyButton @value= {{ @ item .Config .OIDCDiscoveryURL }} @name= {{ t 'models.auth-method.Config.OIDCDiscoveryURL' }} />
<span> {{ @ item .Config .OIDCDiscoveryURL }} </span>
</dd>
{{ / if }}
{{ # if @ item .Config .JWTSupportedAlgs }}
<dt> {{ t 'models.auth-method.Config.JWTSupportedAlgs' }} </dt>
<dd> {{ join ', ' @ item .Config .JWTSupportedAlgs }} </dd>
{{ / if }}
{{ # if @ item .Config .BoundAudiences }}
<dt> {{ t 'models.auth-method.Config.BoundAudiences' }} </dt>
<dd>
<ul>
{{ # each @ item .Config .BoundAudiences as | bond | }}
<li>
<span> {{ bond }} </span>
</li>
{{ / each }}
</ul>
</dd>
{{ / if }}
{{ # each ( array "BoundIssuer" "ExpirationLeeway" "NotBeforeLeeway" "ClockSkewLeeway" ) as | value | }}
{{ # if ( get @ item .Config value ) }}
<dt> {{ t ( concat "models.auth-method.Config." value ) }} </dt>
<dd> {{ get @ item .Config value }} </dd>
{{ / if }}
{{ / each }}
{{ else if ( eq @ item .Type 'oidc' ) }}
{{ # if @ item .Config .OIDCDiscoveryURL }}
<dt> {{ t 'models.auth-method.Config.OIDCDiscoveryURL' }} </dt>
<dd>
<CopyButton @value= {{ @ item .Config .OIDCDiscoveryURL }} @name= {{ t 'models.auth-method.Config.OIDCDiscoveryURL' }} />
<span> {{ @ item .Config .OIDCDiscoveryURL }} </span>
</dd>
{{ / if }}
{{ # if @ item .Config .OIDCDiscoveryCACert }}
<dt> {{ t 'models.auth-method.Config.OIDCDiscoveryCACert' }} </dt>
<dd>
<Certificate @item= {{ @ item .Config .OIDCDiscoveryCACert }} @name= {{ t 'models.auth-method.Config.OIDCDiscoveryCACert' }} />
</dd>
{{ / if }}
{{ # if @ item .Config .OIDCClientID }}
<dt> {{ t 'models.auth-method.Config.OIDCClientID' }} </dt>
<dd> {{ @ item .Config .OIDCClientID }} </dd>
{{ / if }}
{{ # if @ item .Config .OIDCClientSecret }}
<dt> {{ t 'models.auth-method.Config.OIDCClientSecret' }} </dt>
<dd> {{ @ item .Config .OIDCClientSecret }} </dd>
{{ / if }}
{{ # if @ item .Config .AllowedRedirectURIs }}
<dt> {{ t 'models.auth-method.Config.AllowedRedirectURIs' }} </dt>
<dd>
<ul>
{{ # each @ item .Config .AllowedRedirectURIs as | uri | }}
<li>
<CopyButton @value= {{ uri }} @name="Redirect URI" />
<span> {{ uri }} </span>
</li>
{{ / each }}
</ul>
</dd>
{{ / if }}
{{ # if @ item .Config .BoundAudiences }}
<dt> {{ t 'models.auth-method.Config.BoundAudiences' }} </dt>
<dd>
<ul>
{{ # each @ item .Config .BoundAudiences as | bond | }}
<li>
<span> {{ bond }} </span>
</li>
{{ / each }}
</ul>
</dd>
{{ / if }}
{{ # if @ item .Config .OIDCScopes }}
<dt> {{ t 'models.auth-method.Config.OIDCScopes' }} </dt>
<dd>
<ul>
{{ # each @ item .Config .OIDCScopes as | scope | }}
<li>
<span> {{ scope }} </span>
</li>
{{ / each }}
</ul>
</dd>
{{ / if }}
{{ # if @ item .Config .JWTSupportedAlgs }}
<dt> {{ t 'models.auth-method.Config.JWTSupportedAlgs' }} </dt>
<dd> {{ join ', ' @ item .Config .JWTSupportedAlgs }} </dd>
{{ / if }}
{{ # if @ item .Config .VerboseOIDCLogging }}
<dt class="check"> {{ t 'models.auth-method.Config.VerboseOIDCLogging' }} </dt>
<dd><input type="checkbox" disabled="disabled" checked= {{ @ item .Config .VerboseOIDCLogging }} ></dd>
{{ / if }}
{{ / if }}
</dl>
</section>
<hr />
<section class="claim-mappings">
<h2>Claim Mappings</h2>
2021-03-18 15:18:23 +00:00
{{ # if @ item .Config .ClaimMappings }}
2021-03-17 14:40:56 +00:00
<p>Use this if the claim you are capturing is singular. When mapped, the values can be any of a number, string, or boolean and will all be stringified when returned.</p>
<table>
<thead>
<tr>
<td>Key</td>
<td>Value</td>
</tr>
</thead>
<tbody>
{{ # each ( entries @ item .Config .ClaimMappings ) as | entry | }}
<tr>
<td> {{ get entry 0 }} </td>
<td> {{ get entry 1 }} </td>
</tr>
{{ / each }}
</tbody>
</table>
2021-03-18 15:18:23 +00:00
{{ else }}
<EmptyState>
<BlockSlot @name="header">
<h2>No claim mappings</h2>
</BlockSlot>
<BlockSlot @name="body">
<p>Use this if the claim you are capturing is singular. When mapped, the values can be any of a number, string, or boolean and will all be stringified when returned.</p>
</BlockSlot>
<BlockSlot @name="actions">
<li class="docs-link">
{{ # if ( eq @ item .Type 'jwt' ) }}
<a href=" {{ env 'CONSUL_DOCS_URL' }} /security/acl/auth-methods/jwt#claimmappings" rel="noopener noreferrer" target="_blank">Read the documentation</a>
{{ else }}
<a href=" {{ env 'CONSUL_DOCS_URL' }} /security/acl/auth-methods/oidc#claimmappings" rel="noopener noreferrer" target="_blank">Read the documentation</a>
{{ / if }}
</li>
</BlockSlot>
</EmptyState>
2021-03-17 14:40:56 +00:00
{{ / if }}
2021-03-18 15:18:23 +00:00
</section>
2021-03-17 14:40:56 +00:00
<hr />
<section class="list-claim-mappings">
<h2>List Claim Mappings</h2>
2021-03-18 15:18:23 +00:00
{{ # if @ item .Config .ListClaimMappings }}
2021-03-17 14:40:56 +00:00
<p>Use this if the claim you are capturing is list-like (such as groups). When mapped, the values can be any of a number, string, or boolean and will all be stringified when returned.</p>
2021-03-18 15:18:23 +00:00
<table>
2021-03-17 14:40:56 +00:00
<thead>
<tr>
<td>Key</td>
<td>Value</td>
</tr>
</thead>
<tbody>
{{ # each ( entries @ item .Config .ListClaimMappings ) as | entry | }}
<tr>
<td> {{ get entry 0 }} </td>
<td> {{ get entry 1 }} </td>
</tr>
{{ / each }}
</tbody>
</table>
2021-03-18 15:18:23 +00:00
{{ else }}
<EmptyState>
<BlockSlot @name="header">
<h2>No list claim mappings</h2>
</BlockSlot>
<BlockSlot @name="body">
<p>Use this if the claim you are capturing is list-like (such as groups). When mapped, the values can be any of a number, string, or boolean and will all be stringified when returned.</p>
</BlockSlot>
<BlockSlot @name="actions">
<li class="docs-link">
{{ # if ( eq @ item .Type 'jwt' ) }}
<a href=" {{ env 'CONSUL_DOCS_URL' }} /security/acl/auth-methods/jwt#listclaimmappings" rel="noopener noreferrer" target="_blank">Read the documentation</a>
{{ else }}
<a href=" {{ env 'CONSUL_DOCS_URL' }} /security/acl/auth-methods/oidc#listclaimmappings" rel="noopener noreferrer" target="_blank">Read the documentation</a>
{{ / if }}
</li>
</BlockSlot>
</EmptyState>
2021-03-17 14:40:56 +00:00
{{ / if }}
2021-03-18 15:18:23 +00:00
</section>
2021-03-17 14:40:56 +00:00
{{ / if }}
</div>