コード例 #1
0
ファイル: index.php プロジェクト: trianglman/sqrl
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
namespace sqrlexample;

require_once __DIR__ . '/../vendor/autoload.php';
require_once __DIR__ . '/../includes/ExampleStatefulStorage.php';
session_start();
//configuration stuff
$config = new \Trianglman\Sqrl\SqrlConfiguration();
$config->load(__DIR__ . '/../config/sqrlconfig.json');
$store = new ExampleStatefulStorage(new \PDO('mysql:host=localhost;dbname=sqrl', 'example', 'bar'), $_SERVER['REMOTE_ADDR'], $_SESSION);
$generator = new \Trianglman\Sqrl\SqrlGenerate($config, $store);
$nonce = $generator->getNonce();
$sqrlUrl = $generator->getUrl();
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>SQRL Example Server</title>
    </head>
    <body>
        <h1>Welcome to the SQRL PHP Example Server</h1>
        
コード例 #2
0
ファイル: isNonceValidated.php プロジェクト: trianglman/sqrl
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
namespace sqrlexample;

require_once __DIR__ . '/../../vendor/autoload.php';
$config = new \Trianglman\Sqrl\SqrlConfiguration();
$config->load(__DIR__ . '/../../config/sqrlconfig.json');
$db = new \PDO($config->getDsn(), $config->getUsername(), $config->getPassword());
$store = new \Trianglman\Sqrl\SqrlStore($config);
$store->setDatabaseConnection($db);
$validated = false;
if (isset($_SESSION['nonce'])) {
    $validated = (int) $store->retrieveNutRecord($_SESSION['nonce'], array(\Trianglman\Sqrl\SqrlStoreInterface::VERIFIED)) > 0;
    if ($validated) {
        //TODO: create a utility function in SqrlStore that will do this work for the developer
        $SQL = "SELECT related_public_key FROM sqrl_nonce n JOIN sqrl_nonce_relationship r ON r.new_nonce = n.nonce WHERE r.old_nonce = ?";
        $stmt = $db->prepare($SQL);
        $stmt->execute(array($_SESSION['nonce']));
        $result = $stmt->fetchColumn(0);
        //Update the session with a user identifier instead of the nonce
        $_SESSION['publicKey'] = $result[0];