feat(new-tool): added a basic auth generator
This commit is contained in:
		
							parent
							
								
									08ce407a01
								
							
						
					
					
						commit
						bdee93a9e4
					
				
							
								
								
									
										48
									
								
								src/tools/basic-auth-generator/basic-auth-generator.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								src/tools/basic-auth-generator/basic-auth-generator.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | ||||
| <template> | ||||
|   <div> | ||||
|     <n-form-item label="Username"> | ||||
|       <n-input v-model:value="username" placeholder="Your username..." clearable /> | ||||
|     </n-form-item> | ||||
|     <n-form-item label="Password"> | ||||
|       <n-input | ||||
|         v-model:value="password" | ||||
|         placeholder="Your password..." | ||||
|         type="password" | ||||
|         show-password-on="click" | ||||
|         clearable | ||||
|       /> | ||||
|     </n-form-item> | ||||
| 
 | ||||
|     <br /> | ||||
|     <n-card> | ||||
|       <n-statistic label="Authorization header:" class="header"> | ||||
|         <n-scrollbar x-scrollable style="max-width: 550px; margin-bottom: -10px; padding-bottom: 10px" trigger="none"> | ||||
|           {{ header }} | ||||
|         </n-scrollbar> | ||||
|       </n-statistic> | ||||
|     </n-card> | ||||
|     <br /> | ||||
|     <n-space justify="center"> | ||||
|       <n-button secondary @click="copy">Copy header</n-button> | ||||
|     </n-space> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script setup lang="ts"> | ||||
| import { useCopy } from '@/composable/copy'; | ||||
| import { computed, ref } from 'vue'; | ||||
| 
 | ||||
| const username = ref(''); | ||||
| const password = ref(''); | ||||
| const header = computed(() => `Authorization: Basic ${window.btoa(`${username.value}:${password.value}`)}`); | ||||
| 
 | ||||
| const { copy } = useCopy({ source: header, text: 'Header copied to the clipboard' }); | ||||
| </script> | ||||
| 
 | ||||
| <style lang="less" scoped> | ||||
| ::v-deep(.n-statistic-value__content) { | ||||
|   font-family: monospace; | ||||
|   font-size: 17px !important; | ||||
|   white-space: nowrap; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										21
									
								
								src/tools/basic-auth-generator/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/tools/basic-auth-generator/index.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| import { PasswordRound } from '@vicons/material'; | ||||
| import { defineTool } from '../tool'; | ||||
| 
 | ||||
| export const tool = defineTool({ | ||||
|   name: 'Basic auth generator', | ||||
|   path: '/basic-auth-generator', | ||||
|   description: 'Generate a base64 basic auth header from an username and a password.', | ||||
|   keywords: [ | ||||
|     'basic', | ||||
|     'auth', | ||||
|     'generator', | ||||
|     'username', | ||||
|     'password', | ||||
|     'base64', | ||||
|     'authentication', | ||||
|     'header', | ||||
|     'authorization', | ||||
|   ], | ||||
|   component: () => import('./basic-auth-generator.vue'), | ||||
|   icon: PasswordRound, | ||||
| }); | ||||
| @ -2,6 +2,7 @@ import { LockOpen } from '@vicons/tabler'; | ||||
| import type { ToolCategory } from './tool'; | ||||
| 
 | ||||
| import { tool as base64Converter } from './base64-converter'; | ||||
| import { tool as basicAuthGenerator } from './basic-auth-generator'; | ||||
| import { tool as bcrypt } from './bcrypt'; | ||||
| import { tool as bip39 } from './bip39-generator'; | ||||
| import { tool as caseConverter } from './case-converter'; | ||||
| @ -50,7 +51,7 @@ export const toolsByCategory: ToolCategory[] = [ | ||||
|   { | ||||
|     name: 'Web', | ||||
|     icon: LockOpen, | ||||
|     components: [urlEncoder, htmlEntities, qrCodeGenerator, urlParser, deviceInformation], | ||||
|     components: [urlEncoder, htmlEntities, qrCodeGenerator, urlParser, deviceInformation, basicAuthGenerator], | ||||
|   }, | ||||
|   { | ||||
|     name: 'Development', | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user