GithubHelp home page GithubHelp logo

Comments (3)

enygma avatar enygma commented on May 31, 2024

Wouldn't that be correct? If it fails on success() it will return false. Otherwise the $success value starts out as false at the top there...

from yubikey.

araab avatar araab commented on May 31, 2024

The code above is a suggestion how to change it.

The current function sets $success to true as default. This is the current function:

    public function success($first = false)
    {
        $success = true;
        if ($first === true) {
            // Sort them by timestamp, pop the first one and return pass/fail
            usort($this->responses, function($r1, $r2) {
                return $r1->getMt() > $r2->getMt();
            });
            $response = $this->responses[0];
            return $response->success();
        } else {
            foreach ($this->responses as $response) {
                if ($response->success() === false) {
                    return false;
                }
            }
        }
        return $success;
    }

Here an example with the current function.

$v = new \Yubikey\Validate($apiKey, $clientId, array("localhost:8888"));
$result = $v->check($otp);
print_r($result);
var_export($result->success());

You get the following output:

Yubikey\ResponseCollection Object
(
    [responses:Yubikey\ResponseCollection:private] => Array
        (
        )

    [position:Yubikey\ResponseCollection:private] => 0
)
true

$result->success() returns true because the $responses array is
empty and if ($response->success() === false) is never reached.

from yubikey.

enygma avatar enygma commented on May 31, 2024

Thanks for the suggestion - I've added it in 7a78243

from yubikey.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.