Skip to content

Commit 8b37075

Browse files
committed
use jit endpoint for authentication
1 parent 1e1bdbc commit 8b37075

5 files changed

Lines changed: 30 additions & 42 deletions

File tree

src/scripts/create_teams.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
from loguru import logger
99
from pydantic import ValidationError
1010

11-
from src.shared.clients.frontegg import get_jit_jwt_token
12-
from src.shared.clients.jit import get_existing_teams, create_teams, list_assets, add_teams_to_asset, delete_teams
11+
from src.shared.clients.jit import get_existing_teams, create_teams, list_assets, add_teams_to_asset, delete_teams, \
12+
get_jit_jwt_token
1313
from src.shared.diff_tools import get_different_items_in_lists
1414
from src.shared.models import Asset, TeamObject, Organization, TeamTemplate
1515

src/shared/clients/frontegg.py

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/shared/clients/jit.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
from typing import List
3+
from typing import Optional
34

45
import requests
56
from dotenv import load_dotenv
@@ -12,6 +13,28 @@
1213
load_dotenv(".env")
1314
JIT_API_ENDPOINT = os.getenv("JIT_API_ENDPOINT", JIT_DEFAULT_API_ENDPOINT)
1415

16+
JIT_CLIENT_SECRET = os.getenv("JIT_CLIENT_SECRET")
17+
JIT_CLIENT_ID = os.getenv("JIT_CLIENT_ID")
18+
19+
20+
def get_jit_jwt_token() -> Optional[str]:
21+
payload = {
22+
"clientId": JIT_CLIENT_ID,
23+
"secret": JIT_CLIENT_SECRET
24+
}
25+
headers = {
26+
"accept": "application/json",
27+
"content-type": "application/json"
28+
}
29+
30+
response = requests.post(f"{JIT_API_ENDPOINT}/authentication/login", json=payload, headers=headers)
31+
32+
if response.status_code == 200:
33+
return response.json().get('accessToken')
34+
else:
35+
logger.error(f"Failed to retrieve JWT token. Status code: {response.status_code}")
36+
return None
37+
1538

1639
def list_assets(token: str) -> List[Asset]:
1740
try:
@@ -127,7 +150,7 @@ def get_request_headers(token):
127150

128151
def add_teams_to_asset(token, asset: Asset, teams: List[str]):
129152
try:
130-
url = f"{JIT_API_ENDPOINT}/assets/{asset.asset_id}"
153+
url = f"{JIT_API_ENDPOINT}/asset/asset/{asset.asset_id}"
131154
headers = get_request_headers(token)
132155
payload = {
133156
"teams": teams

src/shared/consts.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
MANUAL_TEAM_SOURCE = "manual"
22
REPO = 'repo'
3-
FRONTEGG_DEFAULT_AUTH_URL = "https://jit.frontegg.com/identity/resources/auth/v1/api-token"
43
JIT_DEFAULT_API_ENDPOINT = "https://api.jit.io"

tests/shared/test_clients.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import pytest
22

3-
from src.shared.clients.frontegg import get_jit_jwt_token, FRONTEGG_AUTH_URL
43
from src.shared.clients.github import get_teams_from_github_topics
5-
from src.shared.clients.jit import list_assets, get_existing_teams, create_teams, add_teams_to_asset, delete_teams
4+
from src.shared.clients.jit import list_assets, get_existing_teams, create_teams, add_teams_to_asset, delete_teams, \
5+
get_jit_jwt_token, JIT_API_ENDPOINT
66
from src.shared.models import TeamObject, Asset, Organization, TeamTemplate, Resource
77

88

@@ -90,7 +90,7 @@ def test_get_jwt_token(status_code, expected_result, mocker):
9090
token = get_jit_jwt_token()
9191

9292
requests_post_mock.assert_called_once_with(
93-
FRONTEGG_AUTH_URL,
93+
f"{JIT_API_ENDPOINT}/authentication/login",
9494
json={"clientId": None, "secret": None},
9595
headers={"accept": "application/json", "content-type": "application/json"}
9696
)
@@ -203,7 +203,7 @@ def test_delete_teams(mocker, status_code, existing_team_names, input_team_names
203203
expected_warning):
204204
mock_existing_teams = [
205205
TeamObject(tenant_id=f"tenant{i + 1}", id=str(i + 1), created_at=f"date{i + 1}", modified_at=f"date{i + 2}",
206-
name=team_name)
206+
name=team_name)
207207
for i, team_name in enumerate(existing_team_names)
208208
]
209209

0 commit comments

Comments
 (0)