mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-02-06 04:33:16 -05:00
Handle undefined username/password values by defaulting to empty string, preventing "undefined" from being encoded in the Authorization header. Fixes https://feedback.yaak.app/p/strange-basic-auth-behaviour-in-202612 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 lines
761 B
TypeScript
31 lines
761 B
TypeScript
import type { PluginDefinition } from '@yaakapp/api';
|
|
|
|
export const plugin: PluginDefinition = {
|
|
authentication: {
|
|
name: 'basic',
|
|
label: 'Basic Auth',
|
|
shortLabel: 'Basic',
|
|
args: [
|
|
{
|
|
type: 'text',
|
|
name: 'username',
|
|
label: 'Username',
|
|
optional: true,
|
|
},
|
|
{
|
|
type: 'text',
|
|
name: 'password',
|
|
label: 'Password',
|
|
optional: true,
|
|
password: true,
|
|
},
|
|
],
|
|
async onApply(_ctx, { values }) {
|
|
const username = values.username ?? '';
|
|
const password = values.password ?? '';
|
|
const value = `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`;
|
|
return { setHeaders: [{ name: 'Authorization', value }] };
|
|
},
|
|
},
|
|
};
|