You are here

UserResource.php in OAuth2 Login 8

File

src/UserResource.php
View source
<?php

namespace Drupal\oauth2_login;

use Symfony\Component\HttpFoundation\Response;
use Drupal\Component\Utility;
use Drupal\user\Entity\User;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Drupal\Component\Render\FormattableMarkup;
use Drupal\Core\Extension;
use Drupal\Component\Utility\Html;
use Drupal\oauth2_login\handler;
class UserResource {
  public static function getResourceOwner($resourceownerdetailsurl, $access_token) {
    $ch = \curl_init($resourceownerdetailsurl);
    \curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    \curl_setopt($ch, CURLOPT_ENCODING, "");
    \curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    \curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    \curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    \curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
    \curl_setopt($ch, CURLOPT_POST, false);
    \curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Authorization: Bearer ' . $access_token,
    ));
    $t_vers = \curl_version();
    \curl_setopt($ch, CURLOPT_USERAGENT, 'curl/' . $t_vers['version']);
    $content = \curl_exec($ch);
    if (\curl_error($ch)) {
      exit(\curl_error($ch));
    }
    if (!is_array(json_decode($content, true))) {
      exit("Invalid response received.");
    }
    $content = json_decode($content, true);
    if (isset($content["error_description"])) {
      if (is_array($content["error_description"])) {
        print_r($content["error_description"]);
      }
      else {
        echo $content["error_description"];
      }
      exit;
    }
    else {
      if (isset($content["error"])) {
        if (is_array($content["error"])) {
          print_r($content["error"]);
        }
        else {
          echo $content["error"];
        }
        exit;
      }
    }
    return $content;
  }

}

Classes

Namesort descending Description
UserResource