From 0c91860454cfd3cad2aaacc4f7cb18c9af8a45f3 Mon Sep 17 00:00:00 2001 From: Deon George Date: Tue, 18 Aug 2020 19:59:34 +1000 Subject: [PATCH] Fix for when clients dont present opts --- src/SQRLController.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/SQRLController.php b/src/SQRLController.php index 1432614..f1accd1 100644 --- a/src/SQRLController.php +++ b/src/SQRLController.php @@ -18,8 +18,8 @@ use Leenooks\SQRL\SQRL as SQRLAuth; * Class SQRLController * @package Leenooks\SQRL * @todo CHECK THAT WE ARE RECEIVING BACK WHAT WE GIVE TO THE CLIENT - * * QUERY: = sqrl url, eg: sqrl://domain/api/sqrl?nut=84cc3ef3b58b01dbe22931d1ceabdd6be2c27a481516755757c53b0162287bb8 - * * IDENT: = RESPONSE TO QUERY + * + QUERY: = sqrl url, eg: sqrl://domain/api/sqrl?nut=84cc3ef3b58b01dbe22931d1ceabdd6be2c27a481516755757c53b0162287bb8 + * + IDENT: = RESPONSE TO QUERY * @todo JOB TO DELETE OLD NONCES */ @@ -79,13 +79,13 @@ class SQRLController extends Controller $decode_request = SQRL::decodeData($validatedData); $sqrl_nonce = SQRLAuth\Nonce::checkNonceValid($validatedData['nut']); - $tif = in_array('noiptest',Arr::get($decode_request,'client.opt')) ? 0 : SQRL::tifcode('IP_MATCH'); + $tif = in_array('noiptest',Arr::get($decode_request,'client.opt',[])) ? 0 : SQRL::tifcode('IP_MATCH'); if (! $sqrl_nonce) { Log::error('API:Nonce not valid',['n'=>$validatedData['nut'],'tif'=>SQRL::tifcode('CLIENT_FAILURE')]); $response = SQRLAuth\Response::problem($validatedData['nut'],SQRL::tifcode('CLIENT_FAILURE')); - } elseif (($sqrl_nonce->ip !== $request->ip()) && (! in_array('noiptest',Arr::get($decode_request,'client.opt')))) { + } elseif (($sqrl_nonce->ip !== $request->ip()) && (! in_array('noiptest',Arr::get($decode_request,'client.opt',[])))) { Log::error('API::IP Doesnt Match',['n'=>$validatedData['nut'],'tif'=>SQRL::tifcode('COMMAND_FAILED')]); $response = SQRLAuth\Response::problem($sqrl_nonce->nonce,SQRL::tifcode('COMMAND_FAILED')); @@ -100,7 +100,7 @@ class SQRLController extends Controller } else { foreach (['ver','cmd'] as $y) Log::debug(sprintf('API-client-%s [%s]',str_pad($y,5,' '),Arr::get($decode_request,'client.'.$y))); - Log::debug(sprintf('API-client-opt [%s]',join('|',Arr::get($decode_request,'client.opt')))); + Log::debug(sprintf('API-client-opt [%s]',join('|',Arr::get($decode_request,'client.opt',[])))); Log::debug(sprintf('API-client-idk [%s]',base64_encode(Arr::get($decode_request,'client.idk')))); Log::debug(sprintf('API-server [%s]',serialize(Arr::get($decode_request,'server'))));