UNPKG

@okta-dfuhriman/okta-auth-js

Version:
28 lines (22 loc) 791 B
import { postToParEndpoint } from '../endpoints'; import { OktaAuthOAuthInterface, TokenParams } from '../types'; export async function preparePAR(sdk: OktaAuthOAuthInterface, tokenParams: TokenParams) { const { jwtAuthorizationRequest, pushAuthorizationRequest, pushAuthorizationUrl } = sdk?.options || {}; if (!tokenParams?.clientAssertion && pushAuthorizationRequest) { const now = Math.floor(Date.now() / 1000); const { clientAssertion, expiresAt, requestUri } = await postToParEndpoint( sdk, { pushAuthorizationUrl, jwtAuthorizationRequest, ...tokenParams }); if (requestUri && expiresAt > now) { tokenParams['requestUri'] = requestUri; } if (clientAssertion) { tokenParams['clientAssertion'] = clientAssertion; } } return tokenParams; }