summaryrefslogtreecommitdiffstats
path: root/modules/exampleauth/lib/Auth/Source/Static.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/exampleauth/lib/Auth/Source/Static.php')
-rw-r--r--modules/exampleauth/lib/Auth/Source/Static.php60
1 files changed, 60 insertions, 0 deletions
diff --git a/modules/exampleauth/lib/Auth/Source/Static.php b/modules/exampleauth/lib/Auth/Source/Static.php
new file mode 100644
index 0000000..c2a07cc
--- /dev/null
+++ b/modules/exampleauth/lib/Auth/Source/Static.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * Example authentication source.
+ *
+ * This class is an example authentication source which will always return a user with
+ * a static set of attributes.
+ *
+ * @author Olav Morken, UNINETT AS.
+ * @package simpleSAMLphp
+ * @version $Id$
+ */
+class sspmod_exampleauth_Auth_Source_Static extends SimpleSAML_Auth_Source {
+
+
+ /**
+ * The attributes we return.
+ */
+ private $attributes;
+
+
+ /**
+ * Constructor for this authentication source.
+ *
+ * @param array $info Information about this authentication source.
+ * @param array $config Configuration.
+ */
+ public function __construct($info, $config) {
+ assert('is_array($info)');
+ assert('is_array($config)');
+
+ /* Call the parent constructor first, as required by the interface. */
+ parent::__construct($info, $config);
+
+
+ /* Parse attributes. */
+ try {
+ $this->attributes = SimpleSAML_Utilities::parseAttributes($attributes);
+ } catch(Exception $e) {
+ throw new Exception('Invalid attributes for authentication source ' .
+ $this->authId . ': ' . $e->getMessage());
+ }
+
+ }
+
+
+ /**
+ * Log in using static attributes.
+ *
+ * @param array &$state Information about the current authentication.
+ */
+ public function authenticate(&$state) {
+ assert('is_array($state)');
+
+ $state['Attributes'] = $this->attributes;
+ }
+
+}
+
+?> \ No newline at end of file