From 116b20968481397570a95013ccc410018e9da462 Mon Sep 17 00:00:00 2001
From: David Maus <maus@hab.de>
Date: Tue, 12 May 2015 15:06:22 +0200
Subject: [PATCH] Define interface of authentication modules

* src/HAB/Pica/Auth/AuthenticationInterface.php: New interface.
---
 src/HAB/Pica/Auth/AuthenticationInterface.php | 49 +++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 src/HAB/Pica/Auth/AuthenticationInterface.php

diff --git a/src/HAB/Pica/Auth/AuthenticationInterface.php b/src/HAB/Pica/Auth/AuthenticationInterface.php
new file mode 100644
index 0000000..45508fd
--- /dev/null
+++ b/src/HAB/Pica/Auth/AuthenticationInterface.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * This file is part of PicaAuth.
+ *
+ * PicaAuth is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PicaAuth is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with PicaAuth.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @author    David Maus <maus@hab.de>
+ * @copyright (c) 2015 by Herzog August Bibliothek Wolfenbüttel
+ * @license   http://www.gnu.org/licenses/gpl.txt GNU General Public License v3 or higher
+ */
+
+namespace HAB\Pica\Auth;
+
+/**
+ * Interface of authentication service modules.
+ *
+ * @author    David Maus <maus@hab.de>
+ * @copyright (c) 2015 by Herzog August Bibliothek Wolfenbüttel
+ * @license   http://www.gnu.org/licenses/gpl.txt GNU General Public License v3 or higher
+ */
+interface AuthenticationInterface
+{
+    /**
+     * Authenticate user.
+     *
+     * Returns an array with user attributes or false on
+     * authentication failure.
+     *
+     * @throws RuntimeException
+     *
+     * @param  string $username
+     * @param  string $password
+     * @return array|false
+     */
+    public function authenticate ($username, $password);
+
+}
\ No newline at end of file
-- 
GitLab