diff --git a/lib/SimpleSAML/Auth/Source.php b/lib/SimpleSAML/Auth/Source.php
index 27803ebb04c0331dc36185ab44205ca2cbb643c4..413f68560c454018ca35a0ecbad7663ea7cca083 100644
--- a/lib/SimpleSAML/Auth/Source.php
+++ b/lib/SimpleSAML/Auth/Source.php
@@ -248,6 +248,20 @@ abstract class SimpleSAML_Auth_Source {
 		call_user_func($callback, $callbackState);
 	}
 
+
+	/**
+	 * Retrieve list of authentication sources.
+	 *
+	 * @param string $authId  The authentication source identifier.
+	 * @return array  The id of all authentication sources.
+	 */
+	public static function getSources() {
+
+		$config = SimpleSAML_Configuration::getOptionalConfig('authsources.php');
+
+		return $config->getOptions();
+	}
+
 }
 
 ?>
\ No newline at end of file