Source of file AccessTokenGenerator.php

Size: 1,031 Bytes - Last Modified: 2019-08-09T18:27:54+00:00

/home/travis/build/zerospam/sdk-framework/tests/src/Base/Util/AccessTokenGenerator.php

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
<?php
/**
 * Created by PhpStorm.
 * User: aaflalo
 * Date: 18-06-01
 * Time: 14:15.
 */

namespace ZEROSPAM\Framework\SDK\Test\Base\Util;

use Carbon\Carbon;
use League\OAuth2\Client\Token\AccessToken;

/**
 * Class AccessTokenGenerator
 *
 * Generate new access token
 *
 * @package ZEROSPAM\Framework\SDK\Test\Base\Util
 */
final class AccessTokenGenerator
{
    private function __construct()
    {
    }

    /**
     * Generate an access token.
     *
     * @return AccessToken
     */
    public static function generateAccessToken(): AccessToken
    {
        $accessToken  = uniqid();
        $refreshToken = uniqid();
        $expire       = Carbon::now()->addDay(14)->timestamp;
        $now          = Carbon::now()->timestamp;
        $json
                      = <<<JSON
{
  "token_type": "bearer",
  "scope": "profile:write",
  "created_at": $now,
  "access_token": "$accessToken",
  "refresh_token": "$refreshToken",
  "expires": $expire
}
JSON;

        return new AccessToken(json_decode($json, true));
    }
}