magiclabs / magic-admin-php

Magic admin PHP SDK makes it easy to leverage Decentralized ID tokens to protect routes and restricted resources for your application.
https://docs.magic.link/admin-sdk/php
MIT License
19 stars 5 forks source link

Exception: Using array_key_exists() on objects is deprecated in PHP 7.4 #6

Closed AtlantisPleb closed 3 years ago

AtlantisPleb commented 3 years ago

โœ… Prerequisites

๐Ÿ› Description

/lib/Resource/Token.php:26 throws an exception in PHP 7.4:

ErrorException: array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead

Using array_key_exists() on objects is deprecated in PHP 7.4.

๐Ÿงฉ Steps to Reproduce

  1. composer require magiclabs/magic-admin-php
  2. (Get $did_token from client)
  3. $magic = new \MagicAdmin\Magic(env('MAGIC_SECRET'));
  4. $magic->token->validate($did_token); or $issuer = $magic->token->get_issuer($did_token);

๐Ÿค” Expected behavior

Validate or get issuer from the DID token

๐Ÿ˜ฎ Actual behavior

ErrorException: array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead

/.../vendor/magiclabs/magic-admin-php/lib/Resource/Token.php:26
/.../vendor/magiclabs/magic-admin-php/lib/Resource/Token.php:66
/.../vendor/magiclabs/magic-admin-php/lib/Resource/Token.php:73

๐Ÿ’ป Code Sample

$magic = new \MagicAdmin\Magic(env('MAGIC_SECRET_KEY'));
try {
    $magic->token->validate($did_token);
    $issuer = $magic->token->get_issuer($did_token);
} catch (\MagicAdmin\Exception\DIDTokenException $e) {
    dd($e->getErrorMessage());
}

๐ŸŒŽ Environment

Software Version(s)
magic-admin-php 0.1.0
php 7.4.12
Operating System macOS 10.15.7