angular-auth-oidc-client
Version:
Angular Lib for OpenID Connect & OAuth2
25 lines • 3.88 kB
JavaScript
import { Injectable, inject } from '@angular/core';
import { CryptoService } from '../utils/crypto/crypto.service';
import * as i0 from "@angular/core";
export class JwkWindowCryptoService {
constructor() {
this.cryptoService = inject(CryptoService);
}
importVerificationKey(key, algorithm) {
return this.cryptoService
.getCrypto()
.subtle.importKey('jwk', key, algorithm, false, ['verify']);
}
verifyKey(verifyAlgorithm, cryptoKey, signature, signingInput) {
return this.cryptoService
.getCrypto()
.subtle.verify(verifyAlgorithm, cryptoKey, signature, new TextEncoder().encode(signingInput));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: JwkWindowCryptoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: JwkWindowCryptoService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: JwkWindowCryptoService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiandrLXdpbmRvdy1jcnlwdG8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC9zcmMvbGliL3ZhbGlkYXRpb24vandrLXdpbmRvdy1jcnlwdG8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRy9ELE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FnQ3hEO0lBOUJDLHFCQUFxQixDQUNuQixHQUFlLEVBQ2YsU0FNUTtRQUVSLE9BQU8sSUFBSSxDQUFDLGFBQWE7YUFDdEIsU0FBUyxFQUFFO2FBQ1gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxTQUFTLENBQ1AsZUFBd0UsRUFDeEUsU0FBb0IsRUFDcEIsU0FBdUIsRUFDdkIsWUFBb0I7UUFFcEIsT0FBTyxJQUFJLENBQUMsYUFBYTthQUN0QixTQUFTLEVBQUU7YUFDWCxNQUFNLENBQUMsTUFBTSxDQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUN2QyxDQUFDO0lBQ04sQ0FBQzs4R0FoQ1Usc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FEVCxNQUFNOzsyRkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3J5cHRvU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL2NyeXB0by9jcnlwdG8uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSndrV2luZG93Q3J5cHRvU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3J5cHRvU2VydmljZSA9IGluamVjdChDcnlwdG9TZXJ2aWNlKTtcblxuICBpbXBvcnRWZXJpZmljYXRpb25LZXkoXG4gICAga2V5OiBKc29uV2ViS2V5LFxuICAgIGFsZ29yaXRobTpcbiAgICAgIHwgQWxnb3JpdGhtSWRlbnRpZmllclxuICAgICAgfCBSc2FIYXNoZWRJbXBvcnRQYXJhbXNcbiAgICAgIHwgRWNLZXlJbXBvcnRQYXJhbXNcbiAgICAgIHwgSG1hY0ltcG9ydFBhcmFtc1xuICAgICAgfCBBZXNLZXlBbGdvcml0aG1cbiAgICAgIHwgbnVsbFxuICApOiBQcm9taXNlPENyeXB0b0tleT4ge1xuICAgIHJldHVybiB0aGlzLmNyeXB0b1NlcnZpY2VcbiAgICAgIC5nZXRDcnlwdG8oKVxuICAgICAgLnN1YnRsZS5pbXBvcnRLZXkoJ2p3aycsIGtleSwgYWxnb3JpdGhtLCBmYWxzZSwgWyd2ZXJpZnknXSk7XG4gIH1cblxuICB2ZXJpZnlLZXkoXG4gICAgdmVyaWZ5QWxnb3JpdGhtOiBBbGdvcml0aG1JZGVudGlmaWVyIHwgUnNhUHNzUGFyYW1zIHwgRWNkc2FQYXJhbXMgfCBudWxsLFxuICAgIGNyeXB0b0tleTogQ3J5cHRvS2V5LFxuICAgIHNpZ25hdHVyZTogQnVmZmVyU291cmNlLFxuICAgIHNpZ25pbmdJbnB1dDogc3RyaW5nXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNyeXB0b1NlcnZpY2VcbiAgICAgIC5nZXRDcnlwdG8oKVxuICAgICAgLnN1YnRsZS52ZXJpZnkoXG4gICAgICAgIHZlcmlmeUFsZ29yaXRobSxcbiAgICAgICAgY3J5cHRvS2V5LFxuICAgICAgICBzaWduYXR1cmUsXG4gICAgICAgIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShzaWduaW5nSW5wdXQpXG4gICAgICApO1xuICB9XG59XG4iXX0=