977af116c8
* enable auth method item configuration in go code * properly parse and list generated items * make sure we only set name on attrs if a label comes from openAPI * correctly construct paths object for method index route * set sensitive property on password for userpass * remove debugger statements * pass method model to list route template to use paths on model for tabs * update tab generation in generated item list, undo enabling userpass users * enable openapi generated itams for certs and userpass, update ldap to no longer have action on list endpoint * add editType to DisplayAttributes, pull tokenutil fields into field group * show sensitive message for sensitive fields displayed in fieldGroupShow component * grab sensitive and editType fields from displayAttrs in openapi-to-attrs util * make sure we don't ask for paths for secret backends since that isn't setup yet * fix styling of sensitive text for fieldGroupShow component * update openapi-to-attrs util test to no longer include label by default, change debugger to console.err in path-help, remove dynamic ui auth methods from tab count test * properly log errors to the console * capitalize This value is sensitive... * get rid of extra padding on bottom of fieldgroupshow * make auth methods clickable and use new confirm ux * Update sdk/framework/path.go Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com> * Update sdk/framework/path.go Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com> * add whitespace * return intErr instead of err * uncomment out helpUrl because we need it * remove extra box class * use const instead of let * remove extra conditional since we already split the pathName later on * ensure we request the correct url when listing generated items * use const * link to list and show pages * remove dead code * show nested item name instead of id * add comments * show tooltip for text-file inputs * fix storybook * remove extra filter * add TODOs * add comments * comment out unused variables but leave them in function signature * only link to auth methods that can be fully managed in the ui * clean up comments * only render tooltip if there is helpText * rename id authMethodPath * remove optionsForQuery since we don't need it * add indentation * standardize ConfirmMessage and show model name instead of id when editing * standardize ConfirmMessage and show model name instead of id when editing * add comments * post to the correct updateUrl so we can edit users and groups * use pop instead of slice * add TODO for finding a better way to store ids * ensure ids are handled the same way on list and show pages; fix editing and deleting * add comment about difference between list and show urls * use model.id instead of name since we do not need it * remove dead code * ensure list pages have page headers * standardize using authMethodPath instead of method and remove dead code * i love indentation * remove more dead code * use new Confirm * show correct flash message when deleting an item * update flash message for creating and updating * use plus icon for creating group/user instead of an arrow
157 lines
5.5 KiB
Handlebars
157 lines
5.5 KiB
Handlebars
<PageHeader as |p|>
|
|
<p.levelLeft>
|
|
<h1 class="title is-3">
|
|
Authentication Methods
|
|
</h1>
|
|
</p.levelLeft>
|
|
</PageHeader>
|
|
|
|
<Toolbar>
|
|
<ToolbarActions>
|
|
<ToolbarLink @type="add" @params={{array 'vault.cluster.settings.auth.enable'}}>
|
|
Enable new method
|
|
</ToolbarLink>
|
|
</ToolbarActions>
|
|
</Toolbar>
|
|
|
|
{{#each (sort-by "path" model) as |method|}}
|
|
{{#if (contains method.methodType (supported-managed-auth-backends))}}
|
|
<LinkedBlock @params={{array
|
|
"vault.cluster.access.method"
|
|
method.id}} class="list-item-row" data-test-auth-backend-link={{method.id}}>
|
|
<div class="level is-mobile">
|
|
<div class="level-left">
|
|
<div>
|
|
<ToolTip @horizontalPosition="left" as |T|>
|
|
<T.trigger>
|
|
<Icon @glyph={{if
|
|
(or
|
|
(find-by "type" method.methodType (mountable-auth-methods))
|
|
(eq method.methodType "token")
|
|
)
|
|
method.methodType
|
|
"auth"
|
|
}} @size="l" class="has-text-grey-light" />
|
|
</T.trigger>
|
|
<T.content @class="tool-tip">
|
|
<div class="box">
|
|
{{method.methodType}}
|
|
</div>
|
|
</T.content>
|
|
</ToolTip>
|
|
<span data-test-path data-test-id={{method.id}} class="has-text-weight-semibold has-text-black">
|
|
{{method.path}}
|
|
</span>
|
|
<br />
|
|
<code class="has-text-grey is-size-8">
|
|
{{method.accessor}}
|
|
</code>
|
|
</div>
|
|
</div>
|
|
<div class="level-right is-flex is-paddingless is-marginless">
|
|
<div class="level-item">
|
|
{{#popup-menu name="auth-backend-nav"}}
|
|
<Confirm as |c|>
|
|
<nav class="menu">
|
|
<ul class="menu-list">
|
|
<li>
|
|
{{#link-to "vault.cluster.access.method.section" method.id "configuration"}}
|
|
View configuration
|
|
{{/link-to}}
|
|
</li>
|
|
{{#if method.canEdit}}
|
|
<li>
|
|
{{#link-to "vault.cluster.settings.auth.configure" method.id}}
|
|
Edit configuration
|
|
{{/link-to}}
|
|
</li>
|
|
{{/if}}
|
|
|
|
{{#if (and (not-eq method.methodType 'token') method.canDisable)}}
|
|
<li class="action">
|
|
<c.Message
|
|
@id={{method.id}}
|
|
@title="Disable method?"
|
|
@message="This may affect access to Vault data."
|
|
@triggerText="Disable"
|
|
@onConfirm={{perform disableMethod method}}>
|
|
</c.Message>
|
|
</li>
|
|
{{/if}}
|
|
</ul>
|
|
</nav>
|
|
</Confirm>
|
|
{{/popup-menu}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</LinkedBlock>
|
|
{{else}}
|
|
<div class="list-item-row" data-test-auth-backend-link={{method.id}}>
|
|
<div class="level is-mobile">
|
|
<div class="level-left">
|
|
<div>
|
|
<ToolTip @horizontalPosition="left" as |T|>
|
|
<T.trigger>
|
|
<Icon @glyph={{if
|
|
(or
|
|
(find-by "type" method.methodType (mountable-auth-methods))
|
|
(eq method.methodType "token")
|
|
)
|
|
method.methodType
|
|
"auth"
|
|
}} @size="l" class="has-text-grey-light" />
|
|
</T.trigger>
|
|
<T.content @class="tool-tip">
|
|
<div class="box">
|
|
{{method.methodType}}
|
|
</div>
|
|
</T.content>
|
|
</ToolTip>
|
|
<span data-test-path data-test-id={{method.id}} class="has-text-weight-semibold has-text-grey">
|
|
{{method.path}}
|
|
</span>
|
|
<br />
|
|
<code class="has-text-grey is-size-8">
|
|
{{method.accessor}}
|
|
</code>
|
|
</div>
|
|
</div>
|
|
<div class="level-right is-flex is-paddingless is-marginless">
|
|
<div class="level-item">
|
|
{{#popup-menu name="auth-backend-nav"}}
|
|
<Confirm as |c|>
|
|
<nav class="menu">
|
|
<ul class="menu-list">
|
|
<li>
|
|
{{#link-to "vault.cluster.access.method.section" method.id "configuration"}}
|
|
View configuration
|
|
{{/link-to}}
|
|
</li>
|
|
{{#if method.canEdit}}
|
|
<li>
|
|
{{#link-to "vault.cluster.settings.auth.configure" method.id}}
|
|
Edit configuration
|
|
{{/link-to}}
|
|
</li>
|
|
{{/if}}
|
|
|
|
{{#if (and (not-eq method.methodType 'token') method.canDisable)}}
|
|
<li class="action">
|
|
<c.Message @id={{method.id}} @title="Disable method?"
|
|
@message="This may affect access to Vault data." @triggerText="Disable"
|
|
@onConfirm={{perform disableMethod method}}>
|
|
</c.Message>
|
|
</li>
|
|
{{/if}}
|
|
</ul>
|
|
</nav>
|
|
</Confirm>
|
|
{{/popup-menu}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
{{/each}}
|