Download src/services/oauth/getOauthProfile.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 1.61 kB
-
https://huggingface.co/chenbhao/codev/resolve/main/src/services/oauth/getOauthProfile.ts
- Command line
-
hf download hf://chenbhao/codev/src/services/oauth/getOauthProfile.ts
-
curl -L -o getOauthProfile.ts https://huggingface.co/chenbhao/codev/resolve/main/src/services/oauth/getOauthProfile.ts
1.61 kB
| import axios from 'axios' | |
| import { getOauthConfig, OAUTH_BETA_HEADER } from 'src/constants/oauth.js' | |
| import type { OAuthProfileResponse } from 'src/services/oauth/types.js' | |
| import { getAnthropicApiKey } from 'src/utils/auth.js' | |
| import { getGlobalConfig } from 'src/utils/config.js' | |
| import { logError } from 'src/utils/log.js' | |
| export async function getOauthProfileFromApiKey(): Promise< | |
| OAuthProfileResponse | undefined | |
| > { | |
| // Assumes interactive session | |
| const config = getGlobalConfig() | |
| const accountUuid = config.oauthAccount?.accountUuid | |
| const apiKey = getAnthropicApiKey() | |
| // Need both account UUID and API key to check | |
| if (!accountUuid || !apiKey) { | |
| return | |
| } | |
| const endpoint = `${getOauthConfig().BASE_API_URL}/api/claude_cli_profile` | |
| try { | |
| const response = await axios.get<OAuthProfileResponse>(endpoint, { | |
| headers: { | |
| 'x-api-key': apiKey, | |
| 'anthropic-beta': OAUTH_BETA_HEADER, | |
| }, | |
| params: { | |
| account_uuid: accountUuid, | |
| }, | |
| timeout: 10000, | |
| }) | |
| return response.data | |
| } catch (error) { | |
| logError(error as Error) | |
| } | |
| } | |
| export async function getOauthProfileFromOauthToken( | |
| accessToken: string, | |
| ): Promise<OAuthProfileResponse | undefined> { | |
| const endpoint = `${getOauthConfig().BASE_API_URL}/api/oauth/profile` | |
| try { | |
| const response = await axios.get<OAuthProfileResponse>(endpoint, { | |
| headers: { | |
| Authorization: `Bearer ${accessToken}`, | |
| 'Content-Type': 'application/json', | |
| }, | |
| timeout: 10000, | |
| }) | |
| return response.data | |
| } catch (error) { | |
| logError(error as Error) | |
| } | |
| } | |