LCOV - code coverage report
Current view: top level - dashql-app/src/utils - pkce.ts Coverage Total Hit
Test: DashQL 6e74948 Lines: 100.0 % 10 10
Test Date: 2026-11-06 17:46:50

            Line data    Source code
       1              : 
       2              : import * as auth from '@ankoh/dashql-jsonschema/auth.js';
       3              : 
       4            1 : function b64Uri(buf: ArrayBuffer): string {
       5            1 :     return btoa(String.fromCharCode(...new Uint8Array(buf)))
       6            1 :         .replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
       7            1 : }
       8              : 
       9              : // Generate PKCE challenge
      10            1 : export async function generatePKCEChallenge(): Promise<auth.OAuthPKCEChallenge> {
      11            1 :     const bytes = crypto.getRandomValues(new Uint8Array(64));
      12            1 :     const verifier = b64Uri(bytes.buffer).substring(0, 64);
      13            1 :     const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(verifier));
      14            1 :     return { value: b64Uri(digest), verifier };
      15            1 : }
        

Generated by: LCOV version 2.0-1