Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions infisical_sdk/resources/auth.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from infisical_sdk.infisical_requests import InfisicalRequests
from infisical_sdk.resources.auth_methods import AWSAuth
from infisical_sdk.resources.auth_methods import UniversalAuth

from infisical_sdk.resources.auth_methods import OidcAuth
from typing import Callable
class Auth:
def __init__(self, requests: InfisicalRequests, setToken: Callable[[str], None]):
self.requests = requests
self.aws_auth = AWSAuth(requests, setToken)
self.universal_auth = UniversalAuth(requests, setToken)
self.universal_auth = UniversalAuth(requests, setToken)
self.oidc_auth = OidcAuth(requests, setToken)
1 change: 1 addition & 0 deletions infisical_sdk/resources/auth_methods/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
from .aws_auth import AWSAuth
from .universal_auth import UniversalAuth
from .oidc_auth import OidcAuth
36 changes: 36 additions & 0 deletions infisical_sdk/resources/auth_methods/oidc_auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
from infisical_sdk.api_types import MachineIdentityLoginResponse

from typing import Callable
from infisical_sdk.infisical_requests import InfisicalRequests

class OidcAuth:
def __init__(self, requests: InfisicalRequests, setToken: Callable[[str], None]):
self.requests = requests
self.setToken = setToken

def login(self, identity_id: str, jwt: str) -> MachineIdentityLoginResponse:
"""
Login with OIDC Auth.

Args:
identity_id (str): Your Machine Identity ID.
jwt (str): Your OIDC JWT.

Returns:
MachineIdentityLoginResponse: A response object containing the access token and related information.
"""

requestBody = {
"identityId": identity_id,
"jwt": jwt
}

result = self.requests.post(
path="/api/v1/auth/oidc-auth/login",
json=requestBody,
model=MachineIdentityLoginResponse
)

self.setToken(result.data.accessToken)

return result.data