LLMS_REST_Authentication::authenticate( int|false $user_id )
Authenticate an API Request
Parameters Parameters
- $user_id
-
(int|false) (Required) WP_User ID of an already authenticated user or false.
Return Return
(int|false)
Source Source
File: libraries/lifterlms-rest/includes/class-llms-rest-authentication.php
public function authenticate( $user_id ) { // Load includes in case a plugin has triggered authentication early. LLMS_REST_API()->includes(); // 1. If we already have a user, use that user. // 2. Only authenticate via ssl. // 3. Only authenticate to our end points. if ( ! empty( $user_id ) || ! is_ssl() || ! $this->is_rest_request() ) { return $user_id; } $creds = $this->locate_credentials(); if ( ! $creds ) { return false; } $key = $this->find_key( $creds['key'] ); if ( ! $key ) { return false; } if ( ! hash_equals( $key->get( 'consumer_secret' ), $creds['secret'] ) ) { $this->set_error( llms_rest_authorization_required_error( '', false ) ); return false; } $this->api_key = $key; $user_id = $key->get( 'user_id' ); do_action( 'llms_rest_basic_auth_success', $user_id ); return $user_id; }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
1.0.0-beta.5 | Load all includes to accommodate plugins and themes that call determine_current_user early. |
1.0.0-beta.12 | Call llms_rest_authorization_required_error() instructing to not check if the current user is logged in to avoid infinite loops. |
1.0.0-beta.1 | Introduced. |