5cd1a12178
* Imported uuid library for initial commit to push a clean branch. * Removed import statement in auth-form file since it was causing UI tests to fail as the import was not being used. * Added nonce field to payload for okta sign in. (#16001) * Added nonce field to payload for okta sign in. * Added missing yarn package for uuid * Fixed failing ui tests in cluster-test file to take into account of nonce field in the payload of okta login * Removed uuid library and used crypto.randomUUID() to generate unique uuid values instead * Fixed indent in package.json * Removed uuid library since decided to use crypto.randomUUID() instead to generate unique uuid values * Create polling function for correct answer in okta number challenge (#16070) * Implemented polling function to get correct answer for okta number challenge. * Disabled polling function for testing as it was causing acceptance test to fail in auth-test.js * Changed API call to be the auth mount path instead of being static and created a variable to store the oktaNumberChallengeAnswer to be used later for the display screens * Create component for okta number challenge screen (#16195) * Implemented loading screen and display screen for correct answer for Okta Number Challenge * Fixed linting issues on hbs files * Added periods to parameter descriptions and made parameters optional * Removed optional parameters from calling AuthForm component if authMethod is not Okta * Implement error handling and screens for okta number challenge (#16276) * Implemented loading screen and display screen for correct answer for Okta Number Challenge * Fixed linting issues on hbs files * Temporary changes to include error screen in okta number challenge * Created error screen tests and made minor fixes * Fixed error for wrong parameter name being passed in * Fixed linting issues causing ui tests to fail * Added periods at the end of param descriptions * Imported uuid library for initial commit to push a clean branch. * Removed import statement in auth-form file since it was causing UI tests to fail as the import was not being used. * Removed uuid library since decided to use crypto.randomUUID() instead to generate unique uuid values * Added nonce field to payload for okta sign in. (#16001) * Added nonce field to payload for okta sign in. * Added missing yarn package for uuid * Fixed failing ui tests in cluster-test file to take into account of nonce field in the payload of okta login * Removed uuid library and used crypto.randomUUID() to generate unique uuid values instead * Fixed indent in package.json * Create polling function for correct answer in okta number challenge (#16070) * Implemented polling function to get correct answer for okta number challenge. * Disabled polling function for testing as it was causing acceptance test to fail in auth-test.js * Changed API call to be the auth mount path instead of being static and created a variable to store the oktaNumberChallengeAnswer to be used later for the display screens * Create component for okta number challenge screen (#16195) * Implemented loading screen and display screen for correct answer for Okta Number Challenge * Fixed linting issues on hbs files * Added periods to parameter descriptions and made parameters optional * Removed optional parameters from calling AuthForm component if authMethod is not Okta * Implement error handling and screens for okta number challenge (#16276) * Implemented loading screen and display screen for correct answer for Okta Number Challenge * Fixed linting issues on hbs files * Temporary changes to include error screen in okta number challenge * Created error screen tests and made minor fixes * Fixed error for wrong parameter name being passed in * Fixed linting issues causing ui tests to fail * Added periods at the end of param descriptions * UI/vault 7312/fix vault enterprise error for okta number challenge (#16568) * Fixed bug with okta not working when selecting okta tab after being on other tab * Fixed vault enterprise errors * Fixed error when logging in with Okta in 'Other' tab * Removed namespace parameter in option to use the default * Added changelog
139 lines
5.2 KiB
Handlebars
139 lines
5.2 KiB
Handlebars
<SplashPage @hasAltContent={{this.mfaErrors}} as |Page|>
|
|
<Page.altContent>
|
|
<div class="has-top-margin-xxl" data-test-mfa-error>
|
|
<EmptyState
|
|
@title="Unauthorized"
|
|
@message="Multi-factor authentication is required, but failed. Go back and try again, or contact your administrator."
|
|
@icon="alert-circle"
|
|
@bottomBorder={{true}}
|
|
@subTitle={{join ". " this.mfaErrors}}
|
|
class="is-box-shadowless"
|
|
>
|
|
<button type="button" class="button is-ghost is-transparent" {{on "click" (action "onMfaErrorDismiss")}}>
|
|
<Icon @name="chevron-left" />
|
|
Go back
|
|
</button>
|
|
</EmptyState>
|
|
</div>
|
|
</Page.altContent>
|
|
<Page.header>
|
|
{{#if this.oidcProvider}}
|
|
<div class="box is-shadowless is-flex-v-centered" data-test-auth-logo>
|
|
<LogoEdition aria-label="Sign in with Hashicorp Vault" />
|
|
</div>
|
|
{{else}}
|
|
<div class="is-flex-row">
|
|
{{#if this.mfaAuthData}}
|
|
<button type="button" class="icon-button" {{on "click" (fn (mut this.mfaAuthData) null)}}>
|
|
<Icon @name="arrow-left" @size="24" aria-label="Back to login" class="icon-blue" />
|
|
</button>
|
|
{{else if this.waitingForOktaNumberChallenge}}
|
|
<button type="button" class="icon-button" {{on "click" (action "cancelAuthentication")}}>
|
|
<Icon @name="arrow-left" @size="24" aria-label="Back to login" class="icon-blue" />
|
|
</button>
|
|
{{/if}}
|
|
<h1 class="title is-3">
|
|
{{if (or this.mfaAuthData this.waitingForOktaNumberChallenge) "Authenticate" "Sign in to Vault"}}
|
|
</h1>
|
|
</div>
|
|
{{/if}}
|
|
</Page.header>
|
|
{{#unless this.mfaAuthData}}
|
|
{{#if this.managedNamespaceRoot}}
|
|
<Page.sub-header>
|
|
<Toolbar>
|
|
<div class="toolbar-namespace-picker" data-test-managed-namespace-toolbar>
|
|
<div class="field is-horizontal">
|
|
<div class="field-label">
|
|
<label class="is-label" for="namespace">Namespace</label>
|
|
</div>
|
|
<div class="field-label">
|
|
<span class="has-text-grey" data-test-managed-namespace-root>/{{this.managedNamespaceRoot}}</span>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field">
|
|
<div class="control">
|
|
<input
|
|
value={{this.managedNamespaceChild}}
|
|
placeholder="/ (Default)"
|
|
oninput={{perform this.updateManagedNamespace value="target.value"}}
|
|
autocomplete="off"
|
|
spellcheck="false"
|
|
name="namespace"
|
|
id="namespace"
|
|
class="input"
|
|
type="text"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Toolbar>
|
|
</Page.sub-header>
|
|
{{else if (has-feature "Namespaces")}}
|
|
<Page.sub-header>
|
|
<Toolbar class="toolbar-namespace-picker">
|
|
<div class="field is-horizontal" data-test-namespace-toolbar>
|
|
<div class="field-label is-normal">
|
|
<label class="is-label" for="namespace">Namespace</label>
|
|
</div>
|
|
<div class="field-body">
|
|
<div class="field">
|
|
<div class="control">
|
|
<input
|
|
value={{this.namespaceQueryParam}}
|
|
placeholder="/ (Root)"
|
|
oninput={{perform this.updateNamespace value="target.value"}}
|
|
autocomplete="off"
|
|
spellcheck="false"
|
|
name="namespace"
|
|
id="namespace"
|
|
class="input"
|
|
type="text"
|
|
disabled={{this.oidcProvider}}
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Toolbar>
|
|
</Page.sub-header>
|
|
{{/if}}
|
|
{{/unless}}
|
|
<Page.content>
|
|
{{#if this.mfaAuthData}}
|
|
<Mfa::MfaForm
|
|
@clusterId={{this.model.id}}
|
|
@authData={{this.mfaAuthData}}
|
|
@onSuccess={{action "onMfaSuccess"}}
|
|
@onError={{fn (mut this.mfaErrors)}}
|
|
/>
|
|
{{else}}
|
|
<AuthForm
|
|
@wrappedToken={{this.wrappedToken}}
|
|
@cluster={{this.model}}
|
|
@namespace={{this.namespaceQueryParam}}
|
|
@redirectTo={{this.redirectTo}}
|
|
@selectedAuth={{this.authMethod}}
|
|
@onSuccess={{action "onAuthResponse"}}
|
|
@setOktaNumberChallenge={{fn (mut this.waitingForOktaNumberChallenge)}}
|
|
@waitingForOktaNumberChallenge={{this.waitingForOktaNumberChallenge}}
|
|
@setCancellingAuth={{fn (mut this.cancelAuth)}}
|
|
@cancelAuthForOktaNumberChallenge={{this.cancelAuth}}
|
|
/>
|
|
{{/if}}
|
|
</Page.content>
|
|
<Page.footer>
|
|
<div class="has-short-padding">
|
|
<p class="help has-text-grey-dark" data-test-auth-helptext>
|
|
{{#if this.oidcProvider}}
|
|
Once you log in, you will be redirected back to your application. If you require login credentials, contact your
|
|
administrator.
|
|
{{else}}
|
|
Contact your administrator for login credentials
|
|
{{/if}}
|
|
</p>
|
|
</div>
|
|
</Page.footer>
|
|
</SplashPage> |