Example #1
0
 public static function initClients()
 {
     // Only init once if not loaded from config.
     if (!empty(static::$__clients)) {
         return;
     }
     // Load servers from database.
     $servers = OauthServer::allServers();
     foreach ($servers as $serv) {
         // Get properties.
         $server = $serv->server;
         if (!isset(static::$_servers[$server])) {
             continue;
         }
         $class = static::$_servers[$server];
         $client_id = $serv->client_id;
         $client_secret = $serv->client_secret;
         if (!$client_id || !$client_secret) {
             continue;
         }
         // Setup keys for the different servers.
         if (is_subclass_of($class, 'yii\\authclient\\OAuth2')) {
             static::$__clients[$server] = ['class' => $class, 'clientId' => $client_id, 'clientSecret' => $client_secret];
         } elseif (is_subclass_of($class, 'yii\\authclient\\OAuth1')) {
             static::$__clients[$server] = ['class' => $class, 'consumerKey' => $client_id, 'consumerSecret' => $client_secret];
         }
     }
 }
Example #2
0
 public function saveServers()
 {
     if (!$this->validate()) {
         return false;
     }
     $servers = $this->servers();
     $update = [];
     foreach ($servers as $k => $v) {
         $propPre = $this->keyToProp($k);
         $propCliendID = $propPre . '_client_id';
         $propCliendSecret = $propPre . '_client_secret';
         $key = $this->propToKey($propPre);
         $update[$key] = ['client_id' => $this->{$propCliendID}, 'client_secret' => $this->{$propCliendSecret}];
     }
     OauthServer::bulkUpdate($update);
     return true;
 }