77
88class Config
99{
10- private const SoftRegisterUriProd = 'https://client-registration.api-gateway.kb.cz/v3/software-statements ' ;
11- private const SoftRegisterUriSand = 'https://api-gateway.kb.cz/sandbox/client-registration/v3/software-statements ' ;
12- private const AppRegisterUriProd = 'https://api-gateway.kb.cz/client-registration-ui/v2/saml/register ' ;
13- private const AppRegisterUriSand = 'https://api-gateway.kb.cz/sandbox/client-registration-ui/v2/saml/register ' ;
14- private const AuthLoginUriProd = 'https://login.kb.cz/autfe/ssologin ' ;
15- private const AuthLoginUriSand = 'https://api-gateway.kb.cz/sandbox/oauth2-authorization-ui/v3/ ' ;
16- private const AuthTokenUriProd = 'https://api-gateway.kb.cz/oauth2/v3/access_token ' ;
17- private const AuthTokenUriSand = 'https://api-gateway.kb.cz/sandbox/oauth2/v3/access_token ' ;
18- private const AdaaUriProd = 'https://api-gateway.kb.cz/adaa/v2 ' ;
19- private const AdaaUriSand = 'https://api-gateway.kb.cz/sandbox/adaa/v2 ' ;
20-
21- public function __construct (
10+ protected const SoftRegisterUriProd = 'https://client-registration.api-gateway.kb.cz/v3/software-statements ' ;
11+ protected const SoftRegisterUriSand = 'https://api-gateway.kb.cz/sandbox/client-registration/v3/software-statements ' ;
12+ protected const AppRegisterUriProd = 'https://api-gateway.kb.cz/client-registration-ui/v2/saml/register ' ;
13+ protected const AppRegisterUriSand = 'https://api-gateway.kb.cz/sandbox/client-registration-ui/v2/saml/register ' ;
14+ protected const AuthLoginUriProd = 'https://login.kb.cz/autfe/ssologin ' ;
15+ protected const AuthLoginUriSand = 'https://api-gateway.kb.cz/sandbox/oauth2-authorization-ui/v3/ ' ;
16+ protected const AuthTokenUriProd = 'https://api-gateway.kb.cz/oauth2/v3/access_token ' ;
17+ protected const AuthTokenUriSand = 'https://api-gateway.kb.cz/sandbox/oauth2/v3/access_token ' ;
18+ protected const AdaaUriProd = 'https://api-gateway.kb.cz/adaa/v2 ' ;
19+ protected const AdaaUriSand = 'https://api-gateway.kb.cz/sandbox/adaa/v2 ' ;
20+
21+
22+ private function __construct (
2223 public bool $ sandbox ,
2324 public ?string $ certificatePath ,
2425 public string $ softRegistrationApiKey ,
@@ -33,30 +34,83 @@ public function __construct(
3334 public string $ authTokenUri ,
3435 public string $ adaaApiKey ,
3536 public string $ adaaUri ,
36- ) {
37- }
37+ ) {}
3838
3939
40- public static function createFromEnv (SplFileInfo $ filePath ): self
40+ public static function createFromDotEnv (SplFileInfo $ filePath ): self
4141 {
4242 $ env = new DotEnv ($ filePath );
43- $ sandbox = $ env ->KB_ACCOUNTSAPI_SANDBOX ?? false ;
43+ $ creator = ($ env ->KB_ACCOUNTSAPI_SANDBOX ?? false )
44+ ? self ::createSandbox (...)
45+ : self ::createProduction (...);
4446
45- return new self (
46- sandbox: $ sandbox ,
47+ return $ creator (
4748 certificatePath: $ env ->KB_ACCOUNTSAPI_CERTIFICATE_PATH ,
4849 softRegistrationApiKey: $ env ->KB_ACCOUNTSAPI_SOFT_REGISTRATION_API_KEY ,
49- softRegistrationUri: $ sandbox ? self ::SoftRegisterUriSand : self ::SoftRegisterUriProd,
5050 softRegistrationCallbackUri: $ env ->KB_ACCOUNTSAPI_SOFT_REGISTRATION_CALLBACK_URI ,
5151 appRegistrationApiKey: $ env ->KB_ACCOUNTSAPI_APP_REGISTRATION_API_KEY ,
52- appRegistrationUri: $ sandbox ? self ::AppRegisterUriSand : self ::AppRegisterUriProd,
5352 appRegistrationCallbackUri: $ env ->KB_ACCOUNTSAPI_APP_REGISTRATION_CALLBACK_URI ,
5453 authApiKey: $ env ->KB_ACCOUNTSAPI_AUTH_API_KEY ,
5554 authCallbackUri: $ env ->KB_ACCOUNTSAPI_AUTH_CALLBACK_URI ,
56- authLoginUri: $ sandbox ? self ::AuthLoginUriSand : self ::AuthLoginUriProd,
57- authTokenUri: $ sandbox ? self ::AuthTokenUriSand : self ::AuthTokenUriProd,
5855 adaaApiKey: $ env ->KB_ACCOUNTSAPI_ADAA_API_KEY ,
59- adaaUri: $ sandbox ? self ::AdaaUriSand : self ::AdaaUriProd,
56+ );
57+ }
58+
59+
60+ public static function createSandbox (
61+ ?string $ certificatePath ,
62+ string $ softRegistrationApiKey ,
63+ string $ softRegistrationCallbackUri ,
64+ string $ appRegistrationApiKey ,
65+ string $ appRegistrationCallbackUri ,
66+ string $ authApiKey ,
67+ string $ authCallbackUri ,
68+ string $ adaaApiKey ,
69+ ): self {
70+ return new self (
71+ sandbox: true ,
72+ certificatePath: $ certificatePath ,
73+ softRegistrationApiKey: $ softRegistrationApiKey ,
74+ softRegistrationUri: self ::SoftRegisterUriSand,
75+ softRegistrationCallbackUri: $ softRegistrationCallbackUri ,
76+ appRegistrationApiKey: $ appRegistrationApiKey ,
77+ appRegistrationUri: self ::AppRegisterUriSand,
78+ appRegistrationCallbackUri: $ appRegistrationCallbackUri ,
79+ authApiKey: $ authApiKey ,
80+ authCallbackUri: $ authCallbackUri ,
81+ authLoginUri: self ::AuthLoginUriSand,
82+ authTokenUri: self ::AuthTokenUriSand,
83+ adaaApiKey: $ adaaApiKey ,
84+ adaaUri: self ::AdaaUriSand,
85+ );
86+ }
87+
88+
89+ public static function createProduction (
90+ ?string $ certificatePath ,
91+ string $ softRegistrationApiKey ,
92+ string $ softRegistrationCallbackUri ,
93+ string $ appRegistrationApiKey ,
94+ string $ appRegistrationCallbackUri ,
95+ string $ authApiKey ,
96+ string $ authCallbackUri ,
97+ string $ adaaApiKey ,
98+ ): self {
99+ return new self (
100+ sandbox: false ,
101+ certificatePath: $ certificatePath ,
102+ softRegistrationApiKey: $ softRegistrationApiKey ,
103+ softRegistrationUri: self ::SoftRegisterUriProd,
104+ softRegistrationCallbackUri: $ softRegistrationCallbackUri ,
105+ appRegistrationApiKey: $ appRegistrationApiKey ,
106+ appRegistrationUri: self ::AppRegisterUriProd,
107+ appRegistrationCallbackUri: $ appRegistrationCallbackUri ,
108+ authApiKey: $ authApiKey ,
109+ authCallbackUri: $ authCallbackUri ,
110+ authLoginUri: self ::AuthLoginUriProd,
111+ authTokenUri: self ::AuthTokenUriProd,
112+ adaaApiKey: $ adaaApiKey ,
113+ adaaUri: self ::AdaaUriProd,
60114 );
61115 }
62116}
0 commit comments