|
299 | 299 | ->label('sdk.methodType', 'webAuth')
|
300 | 300 | ->label('abuse-limit', 50)
|
301 | 301 | ->label('abuse-key', 'ip:{ip}')
|
302 |
| - ->param('provider', '', new WhiteList(\array_keys(Config::getParam('authProviders')), true), 'OAuth2 Provider. Currently, supported providers are: ' . \implode(', ', \array_keys(\array_filter(Config::getParam('authProviders'), fn($node) => (!$node['mock'])))) . '.') |
| 302 | + ->param('provider', '', new WhiteList(\array_keys(Config::getParam('oAuthProviders')), true), 'OAuth2 Provider. Currently, supported providers are: ' . \implode(', ', \array_keys(\array_filter(Config::getParam('oAuthProviders'), fn($node) => (!$node['mock'])))) . '.') |
303 | 303 | ->param('success', '', fn($clients) => new Host($clients), 'URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project\'s platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', true, ['clients'])
|
304 | 304 | ->param('failure', '', fn($clients) => new Host($clients), 'URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project\'s platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', true, ['clients'])
|
305 | 305 | ->param('scopes', [], new ArrayList(new Text(APP_LIMIT_ARRAY_ELEMENT_SIZE), APP_LIMIT_ARRAY_PARAMS_SIZE), 'A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of ' . APP_LIMIT_ARRAY_PARAMS_SIZE . ' scopes are allowed, each ' . APP_LIMIT_ARRAY_ELEMENT_SIZE . ' characters long.', true)
|
|
311 | 311 | $protocol = $request->getProtocol();
|
312 | 312 |
|
313 | 313 | $callback = $protocol . '://' . $request->getHostname() . '/v1/account/sessions/oauth2/callback/' . $provider . '/' . $project->getId();
|
314 |
| - $providerEnabled = $project->getAttribute('authProviders', [])[$provider . 'Enabled'] ?? false; |
| 314 | + $providerEnabled = $project->getAttribute('oAuthProviders', [])[$provider . 'Enabled'] ?? false; |
315 | 315 |
|
316 | 316 | if (!$providerEnabled) {
|
317 | 317 | throw new Exception(Exception::PROJECT_PROVIDER_DISABLED, 'This provider is disabled. Please enable the provider from your ' . APP_NAME . ' console to continue.');
|
318 | 318 | }
|
319 | 319 |
|
320 |
| - $appId = $project->getAttribute('authProviders', [])[$provider . 'Appid'] ?? ''; |
321 |
| - $appSecret = $project->getAttribute('authProviders', [])[$provider . 'Secret'] ?? '{}'; |
| 320 | + $appId = $project->getAttribute('oAuthProviders', [])[$provider . 'Appid'] ?? ''; |
| 321 | + $appSecret = $project->getAttribute('oAuthProviders', [])[$provider . 'Secret'] ?? '{}'; |
322 | 322 |
|
323 | 323 | if (!empty($appSecret) && isset($appSecret['version'])) {
|
324 | 324 | $key = App::getEnv('_APP_OPENSSL_KEY_V' . $appSecret['version']);
|
|
358 | 358 | ->label('scope', 'public')
|
359 | 359 | ->label('docs', false)
|
360 | 360 | ->param('projectId', '', new Text(1024), 'Project ID.')
|
361 |
| - ->param('provider', '', new WhiteList(\array_keys(Config::getParam('authProviders')), true), 'OAuth2 provider.') |
| 361 | + ->param('provider', '', new WhiteList(\array_keys(Config::getParam('oAuthProviders')), true), 'OAuth2 provider.') |
362 | 362 | ->param('code', '', new Text(2048, 0), 'OAuth2 code. This is a temporary code that the will be later exchanged for an access token.', true)
|
363 | 363 | ->param('state', '', new Text(2048), 'Login state params.', true)
|
364 | 364 | ->param('error', '', new Text(2048, 0), 'Error code returned from the OAuth2 provider.', true)
|
|
391 | 391 | ->label('origin', '*')
|
392 | 392 | ->label('docs', false)
|
393 | 393 | ->param('projectId', '', new Text(1024), 'Project ID.')
|
394 |
| - ->param('provider', '', new WhiteList(\array_keys(Config::getParam('authProviders')), true), 'OAuth2 provider.') |
| 394 | + ->param('provider', '', new WhiteList(\array_keys(Config::getParam('oAuthProviders')), true), 'OAuth2 provider.') |
395 | 395 | ->param('code', '', new Text(2048, 0), 'OAuth2 code. This is a temporary code that the will be later exchanged for an access token.', true)
|
396 | 396 | ->param('state', '', new Text(2048), 'Login state params.', true)
|
397 | 397 | ->param('error', '', new Text(2048, 0), 'Error code returned from the OAuth2 provider.', true)
|
|
430 | 430 | ->label('docs', false)
|
431 | 431 | ->label('usage.metric', 'sessions.{scope}.requests.create')
|
432 | 432 | ->label('usage.params', ['provider:{request.provider}'])
|
433 |
| - ->param('provider', '', new WhiteList(\array_keys(Config::getParam('authProviders')), true), 'OAuth2 provider.') |
| 433 | + ->param('provider', '', new WhiteList(\array_keys(Config::getParam('oAuthProviders')), true), 'OAuth2 provider.') |
434 | 434 | ->param('code', '', new Text(2048, 0), 'OAuth2 code. This is a temporary code that the will be later exchanged for an access token.', true)
|
435 | 435 | ->param('state', '', new Text(2048), 'OAuth2 state params.', true)
|
436 | 436 | ->param('error', '', new Text(2048, 0), 'Error code returned from the OAuth2 provider.', true)
|
|
448 | 448 | $callback = $protocol . '://' . $request->getHostname() . '/v1/account/sessions/oauth2/callback/' . $provider . '/' . $project->getId();
|
449 | 449 | $defaultState = ['success' => $project->getAttribute('url', ''), 'failure' => ''];
|
450 | 450 | $validateURL = new URL();
|
451 |
| - $appId = $project->getAttribute('authProviders', [])[$provider . 'Appid'] ?? ''; |
452 |
| - $appSecret = $project->getAttribute('authProviders', [])[$provider . 'Secret'] ?? '{}'; |
453 |
| - $providerEnabled = $project->getAttribute('authProviders', [])[$provider . 'Enabled'] ?? false; |
| 451 | + $appId = $project->getAttribute('oAuthProviders', [])[$provider . 'Appid'] ?? ''; |
| 452 | + $appSecret = $project->getAttribute('oAuthProviders', [])[$provider . 'Secret'] ?? '{}'; |
| 453 | + $providerEnabled = $project->getAttribute('oAuthProviders', [])[$provider . 'Enabled'] ?? false; |
454 | 454 |
|
455 | 455 | $className = 'Appwrite\\Auth\\OAuth2\\' . \ucfirst($provider);
|
456 | 456 |
|
457 | 457 | if (!\class_exists($className)) {
|
458 | 458 | throw new Exception(Exception::PROJECT_PROVIDER_UNSUPPORTED);
|
459 | 459 | }
|
460 | 460 |
|
461 |
| - $providers = Config::getParam('authProviders'); |
| 461 | + $providers = Config::getParam('oAuthProviders'); |
462 | 462 | $providerName = $providers[$provider]['name'] ?? '';
|
463 | 463 |
|
464 | 464 | /** @var Appwrite\Auth\OAuth2 $oauth2 */
|
|
2296 | 2296 | $provider = $session->getAttribute('provider');
|
2297 | 2297 | $refreshToken = $session->getAttribute('providerRefreshToken');
|
2298 | 2298 |
|
2299 |
| - $appId = $project->getAttribute('authProviders', [])[$provider . 'Appid'] ?? ''; |
2300 |
| - $appSecret = $project->getAttribute('authProviders', [])[$provider . 'Secret'] ?? '{}'; |
| 2299 | + $appId = $project->getAttribute('oAuthProviders', [])[$provider . 'Appid'] ?? ''; |
| 2300 | + $appSecret = $project->getAttribute('oAuthProviders', [])[$provider . 'Secret'] ?? '{}'; |
2301 | 2301 |
|
2302 | 2302 | $className = 'Appwrite\\Auth\\OAuth2\\' . \ucfirst($provider);
|
2303 | 2303 |
|
|
0 commit comments