mirror of
https://github.com/directus/directus.git
synced 2026-02-01 20:05:07 -05:00
* Moved over oauth impl to new interface * Fixed most build issues and started addind schema to auth drivers * Finished up OAuth2 and OpenID drivers * Removed unused migration and utils * Fixed minor todos * Removed old oauth flow * Changed oauth flow to re-use refresh token * Added new oauth frontend * Added font awesome social icons * Updated authentication documentation * Update api/src/auth/drivers/oauth2.ts * Tested implementation and fixed incorrect validation * Updated docs * Improved OAuth error handling and re-enabled creating users with provider/identifier * Removed Session config from docs * Update app/src/components/v-icon/v-icon.vue * Removed oauth need to define default roleID * Added FormatTitle to SSO links * Prevent local auth without password * Store OAuth access token in session data * Update docs/guides/api-config.md * Fixed copy and removed fontawesome-vue dependency * More docs fixes * Crucialy importend type fiks * Update package-lock * Remove is-email-allowed check In favor of more advanced version based on filtering coming later * Fix JSON type casting * Delete unused util * Update type signature to include name * Add warning when code isn't found in oauth url and remove obsolete imports * Auto-continue on successful SSO login * Tweak type signature * More type casting shenanigans * Please the TS gods * Check for missing token before crashing Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
19 lines
486 B
TypeScript
19 lines
486 B
TypeScript
import { toArray } from '@directus/shared/utils';
|
|
import env from '../env';
|
|
|
|
interface AuthProvider {
|
|
name: string;
|
|
driver: string;
|
|
icon?: string;
|
|
}
|
|
|
|
export function getAuthProviders(): AuthProvider[] {
|
|
return toArray(env.AUTH_PROVIDERS)
|
|
.filter((provider) => provider && env[`AUTH_${provider.toUpperCase()}_DRIVER`])
|
|
.map((provider) => ({
|
|
name: provider,
|
|
driver: env[`AUTH_${provider.toUpperCase()}_DRIVER`],
|
|
icon: env[`AUTH_${provider.toUpperCase()}_ICON`],
|
|
}));
|
|
}
|