Как создать несколько токенов для аутентификации JWT одного и того же запроса Oauth2 - PullRequest
0 голосов
/ 31 октября 2019

У меня 5 учетных записей на сайте, который имеет API. Я хочу создать проект, который будет иметь общее значение.

Я думаю о создании класса php путем вставки всех пользователей, отправки запроса API, получения и записи токена в текстовый файл. Но это не лучшая альтернатива.

Я ищу лучший способ решить мою проблему.

<code><?php
session_start();
require '../Meli/meli.php';
require '../configApp.php';
$meli = new Meli($appId, $secretKey);
if(isset($_GET['code']) || isset($_SESSION['access_token'])) {
    // If code exist and session is empty
    if(isset($_GET['code']) && !isset($_SESSION['access_token'])) {
        // //If the code was in get parameter we authorize
        try{
            $user = $meli->authorize($_GET["code"], $redirectURI);

            // Now we create the sessions with the authenticated user
            $_SESSION['access_token'] = $user['body']->access_token;
            $_SESSION['expires_in'] = time() + $user['body']->expires_in;
            $_SESSION['refresh_token'] = $user['body']->refresh_token;
        }catch(Exception $e){
            echo "Exception: ",  $e->getMessage(), "\n";
        }
    } else {
        // We can check if the access token in invalid checking the time
        if($_SESSION['expires_in'] < time()) {
            try {
                // Make the refresh process
                $refresh = $meli->refreshAccessToken();
                // Now we create the sessions with the new parameters
                $_SESSION['access_token'] = $refresh['body']->access_token;
                $_SESSION['expires_in'] = time() + $refresh['body']->expires_in;
                $_SESSION['refresh_token'] = $refresh['body']->refresh_token;
            } catch (Exception $e) {
                echo "Exception: ",  $e->getMessage(), "\n";
            }
        }
    }
    echo '<pre>';
        print_r($_SESSION);
    echo '
';} else {echo 'getAuthUrl($redirectURI, Meli::$AUTH_URL[$siteId]) . '"> Войдите, используя MercadoLibre oAuth 2.0 ';}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...