Skip to content

Commit 6c0f8ea

Browse files
authored
Updated CredentialProvider constructor to accept IDP instance (#42)
1 parent 0734427 commit 6c0f8ea

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

redis_entraid/cred_provider.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from typing import Union, Tuple, Callable, Any, Awaitable, Optional, List
22

3+
from redis.auth.idp import IdentityProviderInterface
34
from redis.credentials import StreamingCredentialProvider
45
from redis.auth.token_manager import TokenManagerConfig, RetryPolicy, TokenManager, CredentialsListener
56

@@ -16,24 +17,20 @@
1617
class EntraIdCredentialsProvider(StreamingCredentialProvider):
1718
def __init__(
1819
self,
19-
idp_config: Union[ManagedIdentityProviderConfig, ServicePrincipalIdentityProviderConfig],
20+
identity_provider: IdentityProviderInterface,
2021
token_manager_config: TokenManagerConfig,
2122
initial_delay_in_ms: float = 0,
2223
block_for_initial: bool = False,
2324
):
2425
"""
25-
:param idp_config: Identity provider specific configuration.
26+
:param identity_provider: Identity provider instance
2627
:param token_manager_config: Token manager specific configuration.
2728
:param initial_delay_in_ms: Initial delay before run background refresh (valid for async only)
2829
:param block_for_initial: Block execution until initial token will be acquired (valid for async only)
2930
"""
30-
if isinstance(idp_config, ManagedIdentityProviderConfig):
31-
idp = _create_provider_from_managed_identity(idp_config)
32-
else:
33-
idp = _create_provider_from_service_principal(idp_config)
34-
31+
self._idp = identity_provider
3532
self._token_mgr = TokenManager(
36-
idp,
33+
self._idp,
3734
token_manager_config
3835
)
3936
self._listener = CredentialsListener()
@@ -117,8 +114,8 @@ def create_from_managed_identity(
117114
id_value=id_value,
118115
kwargs=kwargs
119116
)
120-
121-
return EntraIdCredentialsProvider(managed_identity_config, token_manager_config)
117+
idp = _create_provider_from_managed_identity(managed_identity_config)
118+
return EntraIdCredentialsProvider(idp, token_manager_config)
122119

123120

124121
def create_from_service_principal(
@@ -160,5 +157,5 @@ def create_from_service_principal(
160157
app_kwargs=app_kwargs,
161158
token_kwargs=token_kwargs,
162159
)
163-
164-
return EntraIdCredentialsProvider(service_principal_config, token_manager_config)
160+
idp = _create_provider_from_service_principal(service_principal_config)
161+
return EntraIdCredentialsProvider(idp, token_manager_config)

0 commit comments

Comments
 (0)