88 UriNotAllowedError
99} from '../errors' ;
1010import { CloudFrontRequest } from 'aws-lambda' ;
11+ import { CommonAccessTokenDict } from '../cat' ;
1112
1213interface HttpValidatorKey {
1314 kid : string ;
@@ -24,6 +25,7 @@ export interface HttpValidatorOptions {
2425export interface HttpResponse {
2526 status : number ;
2627 message ?: string ;
28+ claims ?: CommonAccessTokenDict ;
2729}
2830
2931export class NoTokenFoundError extends Error {
@@ -53,7 +55,7 @@ export class NoTokenFoundError extends Error {
5355 * request,
5456 * 'Symmetric256'
5557 * );
56- * // { status: 200, message: 'info' }
58+ * // { status: 200, message: 'info', claims: { iss: 'eyevinn' } }
5759 */
5860export class HttpValidator {
5961 private keys : { [ key : string ] : Buffer } = { } ;
@@ -109,12 +111,12 @@ export class HttpValidator {
109111 ? request . headers [ 'cta-common-access-token' ] [ 0 ]
110112 : request . headers [ 'cta-common-access-token' ] ;
111113 try {
112- await validator . validate ( token , 'mac' , {
114+ const cat = await validator . validate ( token , 'mac' , {
113115 issuer : this . opts . issuer ,
114116 audience : this . opts . audience ,
115117 url
116118 } ) ;
117- return { status : 200 } ;
119+ return { status : 200 , claims : cat ?. claims } ;
118120 } catch ( err ) {
119121 if (
120122 err instanceof InvalidIssuerError ||
0 commit comments