File indexing completed on 2024-10-13 13:29:13

0001 <?php
0002 
0003 /**
0004  *  ocs-apiserver
0005  *
0006  *  Copyright 2016 by pling GmbH.
0007  *
0008  *    This file is part of ocs-apiserver.
0009  *
0010  *    This program is free software: you can redistribute it and/or modify
0011  *    it under the terms of the GNU Affero General Public License as
0012  *    published by the Free Software Foundation, either version 3 of the
0013  *    License, or (at your option) any later version.
0014  *
0015  *    This program is distributed in the hope that it will be useful,
0016  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0017  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0018  *    GNU Affero General Public License for more details.
0019  *
0020  *    You should have received a copy of the GNU Affero General Public License
0021  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0022  *
0023  *    Created: 16.12.2016
0024  **/
0025 class Application_Model_OAuth
0026 {
0027 
0028     const LOGIN_GITUHB = 'github';
0029 
0030     /**
0031      * Application_Model_OAuth constructor.
0032      */
0033     public function __construct()
0034     {
0035     }
0036 
0037     public static function factory($providerId)
0038     {
0039         switch ($providerId) {
0040             case self::LOGIN_GITUHB:
0041                 $authAdapter = new Application_Model_OAuth_Github(
0042                     Zend_Registry::get('db'),
0043                     'member',
0044                     Zend_Registry::get('config')->third_party->github);
0045                 break;
0046 
0047             default:
0048                 throw new Zend_Exception('No provider id present');
0049                 break;
0050         }
0051 
0052         return $authAdapter;
0053     }
0054 
0055 }