mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-30 18:17:55 +00:00 
			
		
		
		
	UI: remove renew self call after login (#28204)
* check for renewAfterEpoch before comparing it * add test coverage for regression * add comment. Fixes VAULT-4630 * throw error * add changelog
This commit is contained in:
		
							
								
								
									
										3
									
								
								changelog/28204.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								changelog/28204.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| ```release-note:bug | ||||
| ui: fixes renew-self being called right after login for non-renewable tokens | ||||
| ``` | ||||
| @@ -87,6 +87,8 @@ export default Component.extend({ | ||||
|     this.onError(err); | ||||
|   }, | ||||
|  | ||||
|   // NOTE TO DEVS: Be careful when updating the OIDC flow and ensure the updates | ||||
|   // work with implicit flow. See issue https://github.com/hashicorp/vault-plugin-auth-jwt/pull/192 | ||||
|   prepareForOIDC: task(function* (oidcWindow) { | ||||
|     const thisWindow = this.getWindow(); | ||||
|     // show the loading animation in the parent | ||||
|   | ||||
| @@ -390,7 +390,7 @@ export default Service.extend({ | ||||
|     const now = this.now(); | ||||
|     this.set('lastFetch', timestamp); | ||||
|     // if expiration was allowed and we're over half the ttl we want to go ahead and renew here | ||||
|     if (this.allowExpiration && now >= this.renewAfterEpoch) { | ||||
|     if (this.allowExpiration && this.renewAfterEpoch && now >= this.renewAfterEpoch) { | ||||
|       this.renew(); | ||||
|     } | ||||
|     this.set('allowExpiration', false); | ||||
|   | ||||
| @@ -6,8 +6,9 @@ | ||||
| import { module, test } from 'qunit'; | ||||
| import { setupApplicationTest } from 'ember-qunit'; | ||||
| import { click, currentURL, visit, waitUntil, find, fillIn } from '@ember/test-helpers'; | ||||
| import { allSupportedAuthBackends, supportedAuthBackends } from 'vault/helpers/supported-auth-backends'; | ||||
| import { setupMirage } from 'ember-cli-mirage/test-support'; | ||||
| import { allSupportedAuthBackends, supportedAuthBackends } from 'vault/helpers/supported-auth-backends'; | ||||
| import VAULT_KEYS from 'vault/tests/helpers/vault-keys'; | ||||
|  | ||||
| const AUTH_FORM = { | ||||
|   method: '[data-test-select=auth-method]', | ||||
| @@ -15,6 +16,7 @@ const AUTH_FORM = { | ||||
|   login: '[data-test-auth-submit]', | ||||
| }; | ||||
| const ENT_AUTH_METHODS = ['saml']; | ||||
| const { rootToken } = VAULT_KEYS; | ||||
|  | ||||
| module('Acceptance | auth', function (hooks) { | ||||
|   setupApplicationTest(hooks); | ||||
| @@ -193,4 +195,17 @@ module('Acceptance | auth', function (hooks) { | ||||
|     await fillIn(AUTH_FORM.method, 'token'); | ||||
|     await click('[data-test-auth-submit]'); | ||||
|   }); | ||||
|  | ||||
|   test('it does not call renew-self after successful login with non-renewable token', async function (assert) { | ||||
|     this.server.post( | ||||
|       '/auth/token/renew-self', | ||||
|       () => new Error('should not call renew-self directly after logging in') | ||||
|     ); | ||||
|  | ||||
|     await visit('/vault/auth'); | ||||
|     await fillIn(AUTH_FORM.method, 'token'); | ||||
|     await fillIn(AUTH_FORM.token, rootToken); | ||||
|     await click('[data-test-auth-submit]'); | ||||
|     assert.strictEqual(currentURL(), '/vault/dashboard'); | ||||
|   }); | ||||
| }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Chelsea Shaw
					Chelsea Shaw