File Editor
Directories:
.. (Back)
EasyDigitalDownloads
Elementor
Integrations
MemberPress
Plugins
Promos
Rules
Shortcodes
WPForms
WooCommerce
Files:
Actions.php
Ajax.php
Api.php
ApiAuth.php
ApiKey.php
AssetLoader.php
BaseRestApi.php
Blocks.php
ClassicEditor.php
ConstantContact.php
Debug.php
EasyDigitalDownloads.php
Elementor.php
Inserter.php
InstallSkin.php
InstallSkinCompat.php
MailPoet.php
MemberPress.php
Menu.php
Notifications.php
OmuApi.php
Output.php
Pages.php
Partners.php
Plugins.php
Promos.php
Refresh.php
RestApi.php
RevenueAttribution.php
Review.php
Rules.php
Save.php
Shortcode.php
Sites.php
Support.php
Type.php
Urls.php
Utils.php
Validate.php
WPForms.php
Welcome.php
Widget.php
WooCommerce.php
WpErrorException.php
Create New File
Create
Edit File: ApiAuth.php
<?php /** * Api Auth class. * * @since 2.6.5 * * @package OMAPI * @author Justin Sternberg */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Api Auth class. * * @since 2.6.5 */ class OMAPI_ApiAuth { /** * Get the auth token from the DB.. * * @since 2.6.5 * * @return array Auth token array. */ public static function get_token() { return get_option( 'optinmonster_site_token', array( 'expires' => 0, 'tt' => '', ) ); } /** * Check if token exists in DB. * * @since 2.6.5 * * @return boolean Whether it exists. */ public static function has_token() { $token = self::get_token(); return ! empty( $token['expires'] ) && ! empty( $token['tt'] ); } /** * Get the tt value from the auth token (or generate the auth token). * * @since 2.6.5 * * @return string The tt value from the auth token. */ public static function get_tt() { $token = self::get_token(); if ( empty( $token['tt'] ) ) { // if TT is empty, generate a new one, save it and then return it. $token = array( 'expires' => time() + ( 2 * MINUTE_IN_SECONDS ), 'tt' => self::generate_tt(), ); update_option( 'optinmonster_site_token', $token ); } return $token['tt']; } /** * Generate the tt value (long random string). * * @since 2.6.5 * * @return string Tt value. */ public static function generate_tt() { return hash( 'sha512', wp_generate_password( 128, true, true ) . AUTH_SALT . uniqid( '', true ) ); } /** * Validate whether given tt value matches auth token tt value, * and whether the auth token has expired. * * @since 2.6.5 * * @param string $passed_tt The tt value to validate. * * @return bool Whether tt value is validated with the token. */ public static function validate_token( $passed_tt = '' ) { if ( empty( $passed_tt ) ) { return false; } $token = self::get_token(); if ( empty( $token ) ) { return false; } $expired = ! empty( $token['expires'] ) ? $token['expires'] < time() : true; $tt = ! empty( $token['tt'] ) ? $token['tt'] : ''; $matches = hash_equals( $tt, $passed_tt ); return $matches && ! $expired; } /** * Delete the auth token. * * @since 2.6.5 * * @return bool True if the option was deleted, false otherwise. */ public static function delete_token() { return delete_option( 'optinmonster_site_token' ); } }
Save Changes
Rename File
Rename