PHP Class Trianglman\Sqrl\SqrlStoreStatelessAbstract

Rather than storing the values important to the nut in stateful storage, the values will be encrypted into the nut.
Author: johnj
Inheritance: implements Trianglman\Sqrl\SqrlStoreInterface
Show file Open project: trianglman/sqrl

Public Methods

Method Description
generateNut ( integer $tif, string $key = '', string $oldnut = '' ) : string Creates a nut from the supplied data
getNutDetails ( string $nut, $debug = false ) : array: Retrieves information about the supplied nut
logSessionIn ( $requestNut )
setNonceSalt ( string $salt ) : void Sets the password for nonce encryption

Protected Methods

Method Description
addSessionNut ( string $newNut, $sessionId ) : void Adds a nut to the user's current session
base64URLDecode ( type $string ) : type Base 64 URL decodes a string
base64UrlEncode ( string $string, type $stripEquals = true ) : string Base 64 URL encodes a string
getCurrentSessionId ( ) : string Gets the user's current session ID
getIp ( ) : string Gets the user's IP address
getSessionInfo ( string $sessionId ) : array Gets the session information that matches the supplied session ID
setSessionValue ( string $sessionId, string $key, string $value ) : void Sets or updates a value in the user session

Method Details

addSessionNut() protected method

Adds a nut to the user's current session
protected addSessionNut ( string $newNut, $sessionId ) : void
$newNut string
return void

base64URLDecode() protected method

Basically the same as base64 decoding, but replacing URL safe "-" with "+" and "_" with "/". Automatically detects if the trailing "=" padding has been removed.
protected base64URLDecode ( type $string ) : type
$string type
return type

base64UrlEncode() protected method

Basically the same as base64 encoding, but replacing "+" with "-" and "/" with "_" to make it safe to include in a URL Optionally removes trailing "=" padding characters.
protected base64UrlEncode ( string $string, type $stripEquals = true ) : string
$string string The string to encode
$stripEquals type [Optional] Whether to strip the "=" off of the end
return string

generateNut() public method

Takes the nut data, compacts it into a usable format with date, session and random info data, and encrypts it into a usable nut
public generateNut ( integer $tif, string $key = '', string $oldnut = '' ) : string
$tif integer The action associated with the nut
$key string The authentication key the nut is for
$oldnut string The previous nut in this transacion. Information from this nut will be used to help store the new nut in the right session.
return string

getCurrentSessionId() abstract protected method

Gets the user's current session ID
abstract protected getCurrentSessionId ( ) : string
return string

getIp() abstract protected method

Gets the user's IP address
abstract protected getIp ( ) : string
return string

getNutDetails() public method

Retrieves information about the supplied nut
public getNutDetails ( string $nut, $debug = false ) : array:
$nut string The nonce to retrieve information on
return array:

getSessionInfo() abstract protected method

Gets the session information that matches the supplied session ID
abstract protected getSessionInfo ( string $sessionId ) : array
$sessionId string
return array

logSessionIn() public method

public logSessionIn ( $requestNut )

setNonceSalt() public method

Sets the password for nonce encryption
public setNonceSalt ( string $salt ) : void
$salt string
return void

setSessionValue() abstract protected method

Sets or updates a value in the user session
abstract protected setSessionValue ( string $sessionId, string $key, string $value ) : void
$sessionId string
$key string
$value string
return void