Server : LiteSpeed System : Linux server321.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : apotdzgr ( 7060) PHP Version : 8.0.30 Disable Function : NONE Directory : /home/apotdzgr/konapotheek.com/wp-content/plugins/nextend-facebook-connect/NSL/ |
Upload File : |
<?php namespace NSL; use Exception; use NextendSocialLogin; use WP_Error; use WP_REST_Request; use WP_REST_Response; use function add_action; use function register_rest_route; use NextendSocialProviderOAuth; class REST { public function __construct() { add_action('rest_api_init', array( $this, 'rest_api_init' )); } public function rest_api_init() { register_rest_route('nextend-social-login/v1', '/(?P<provider>\w[\w\s\-]*)/get_user', array( 'args' => array( 'provider' => array( 'required' => true, 'validate_callback' => array( $this, 'validate_provider' ) ), 'access_token' => array( 'required' => true, ), ), array( 'methods' => 'POST', 'callback' => array( $this, 'get_user' ), 'permission_callback' => '__return_true' ), )); } public function validate_provider($providerID) { if (NextendSocialLogin::isProviderEnabled($providerID)) { if (NextendSocialLogin::$enabledProviders[$providerID] instanceof NextendSocialProviderOAuth) { return true; } else { /* * OpenID providers don't have a secure Access Token, but just a simple ID that is usually easy to guess. * For this reason we shouldn't return the WordPress user ID over the REST API of providers based on OpenID authentication. */ return new WP_Error('error', __('This provider doesn\'t support REST API calls!', 'nextend-facebook-connect')); } } return false; } /** * @param WP_REST_Request $request Full details about the request. * * @return WP_Error|WP_REST_Response */ public function get_user($request) { $provider = NextendSocialLogin::$enabledProviders[$request['provider']]; try { $user = $provider->findUserByAccessToken($request['access_token']); } catch (Exception $e) { return new WP_Error('error', $e->getMessage()); } return $user; } } new REST();