403Webshell
Server IP : 172.67.158.161  /  Your IP : 18.226.226.178
Web Server : LiteSpeed
System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : giankuin ( 1871)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/giankuin/dietcontrungnhanh.com/wp-content/plugins/ithemes-security-pro/pro/webauthn/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/giankuin/dietcontrungnhanh.com/wp-content/plugins/ithemes-security-pro/pro/webauthn/Verified_Credential_Opaque_Tokens.php
<?php

namespace iThemesSecurity\WebAuthn;

use iThemesSecurity\Lib\Result;
use iThemesSecurity\WebAuthn\DTO\BinaryString;

final class Verified_Credential_Opaque_Tokens implements Verified_Credential_Tokens {

	private const TYPE = 'webauthn-verified';
	private const TTL = 3 * 60;

	/** @var PublicKeyCredentialUserEntity_Factory */
	private $user_factory;

	public function __construct( PublicKeyCredentialUserEntity_Factory $user_factory ) { $this->user_factory = $user_factory; }

	public function create_token( PublicKeyCredential_Record $record ): Result {
		$token = \ITSEC_Lib_Opaque_Tokens::create_token( self::TYPE, [
			'cid' => $record->get_id()->as_ascii_fast(),
			'uid' => $record->get_user()->as_ascii_fast()
		] );

		if ( is_wp_error( $token ) ) {
			return Result::error( $token );
		}

		return Result::success( $token );
	}

	public function verify_token( \WP_User $user, string $token ): Result {
		$verified = \ITSEC_Lib_Opaque_Tokens::verify_and_get_token_data( self::TYPE, $token, self::TTL );

		if ( is_wp_error( $verified ) ) {
			return Result::error( $verified );
		}

		$entity = $this->user_factory->make( $user );

		if ( ! $entity->is_success() ) {
			return $entity;
		}

		if ( ! $entity->get_data()->get_id()->equals( BinaryString::from_ascii_fast( $verified['uid'] ) ) ) {
			return Result::error( new \WP_Error(
				'itsec.webauthn.verified-credential-tokens.invalid-user',
				__( 'This token is for an invalid user.', 'it-l10n-ithemes-security-pro' )
			) );
		}

		\ITSEC_Lib_Opaque_Tokens::delete_token( $token );

		return Result::success();
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit