mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-30 18:33:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			847 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			847 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from services.auth.api_key_auth_base import ApiKeyAuthBase
 | |
| from services.auth.auth_type import AuthType
 | |
| 
 | |
| 
 | |
| class ApiKeyAuthFactory:
 | |
|     def __init__(self, provider: str, credentials: dict):
 | |
|         auth_factory = self.get_apikey_auth_factory(provider)
 | |
|         self.auth = auth_factory(credentials)
 | |
| 
 | |
|     def validate_credentials(self):
 | |
|         return self.auth.validate_credentials()
 | |
| 
 | |
|     @staticmethod
 | |
|     def get_apikey_auth_factory(provider: str) -> type[ApiKeyAuthBase]:
 | |
|         match provider:
 | |
|             case AuthType.FIRECRAWL:
 | |
|                 from services.auth.firecrawl.firecrawl import FirecrawlAuth
 | |
| 
 | |
|                 return FirecrawlAuth
 | |
|             case AuthType.JINA:
 | |
|                 from services.auth.jina.jina import JinaAuth
 | |
| 
 | |
|                 return JinaAuth
 | |
|             case _:
 | |
|                 raise ValueError("Invalid provider")
 | 
