(headers: Headers)
| 128 | tokenPurpose: 'internal-service', |
| 129 | credentialExchange: false, |
| 130 | extra: options.organizationId ? { organizationId: options.organizationId } : undefined, |
| 131 | }); |
| 132 | |
| 133 | if (isBoundedInternalServiceTokenIssuanceEnabled()) { |
| 134 | return jwt.sign(payload, NEXTAUTH_SECRET, { algorithm: jwtSigningAlgorithm }); |
| 135 | } |
| 136 | |
| 137 | return generateInternalServiceToken(userId, { |
| 138 | expiresIn: options.expiresIn, |
| 139 | audience: |
| 140 | options.audience === SESSION_INGEST_AUDIENCE || |
| 141 | options.audience === GITHUB_USER_AUTHORIZATION_DISCONNECT_AUDIENCE |
| 142 | ? undefined |
| 143 | : options.audience, |
| 144 | organizationId: options.organizationId, |
| 145 | }); |
| 146 | } |
| 147 | |
| 148 | export function generateApiToken( |
| 149 | { id, api_token_pepper }: User, |
| 150 | extraPayload?: JWTTokenExtraPayload, |
| 151 | options?: { expiresIn?: number } |
| 152 | ) { |
| 153 | return jwt.sign( |
| 154 | { |
| 155 | env: process.env.NODE_ENV, |
| 156 | kiloUserId: id, |
| 157 | apiTokenPepper: api_token_pepper, |
| 158 | version: JWT_TOKEN_VERSION, |
| 159 | ...extraPayload, |
| 160 | }, |
| 161 | NEXTAUTH_SECRET, |
| 162 | { |
| 163 | algorithm: jwtSigningAlgorithm, |
| 164 | expiresIn: options?.expiresIn ?? FIVE_YEARS_IN_SECONDS, |
| 165 | } |
| 166 | ); |
| 167 | } |
no test coverage detected