class Authenticating extends Credentials

Authentifizierung für Amazon Webservice

Constants

REQUESTTYPE

AWS Requesttype

Properties

protected string $accesskeyid
protected string $secretaccesskey
protected string $region
protected string $servicename
protected string $requesttype
protected string $timestamp

Methods

__construct(AccessKey $accessKey)

Neues Authenticating Objekt erstellen

setRegion(Region $region)

Region setzen

getRegion()

Gibt die verwendete Region zurück

setServicename(string $servicename)

Setzt die Service Name für den Header

string
getServicename()

Gibt den Service Name zurück

setTimestamp(integer $timestamp = null)

Setzt den Timestamp für den Header

integer
getTimestamp()

getTimestamp

Request
prepare(Request $request)

Den Request manipulieren

boolean
isValid(AuthorizationField $field)

Überprüfen der Autorisation

string
getTimeFormat()

Formatiert das Datum für den Request

string
getSortQueryString(URI $uri)

Die Parameter werden Alphabetisch sortiert und als CanonicalQueryString zurück gegeben

string
getCanonicalRequest(Request $request)

Berechnen des "CanonicalRequest" für AWS.

string
getTreeHash(string $content)

TreeHash

string
getStringToSign(string $canonicalRequest)

getStringToSign

string
getSigningKey()

getSigningKey

string
getSignature(string $signingKey, string $stringToSign)

getSignature

Request
setAuthorizationHeader(Request $request, string $signature)

setAuthorizationHeader

Details

at line 84
__construct(AccessKey $accessKey)

Neues Authenticating Objekt erstellen

Für die Kommunikation mit AWS wird ein Authentifizierung Header geschickt Diese Klasse erstellt die Header und kümmert sich um die authentifizierung

Parameters

AccessKey $accessKey IAM Zugangsschlüssel

at line 102
Authenticating setRegion(Region $region)

Region setzen

setzt die Region für den Header

Parameters

Region $region Region

Return Value

Authenticating dieses Objekt

at line 112
Region getRegion()

Gibt die verwendete Region zurück

Return Value

Region $region

at line 123
Authenticating setServicename(string $servicename)

Setzt die Service Name für den Header

Parameters

string $servicename Service Name

Return Value

Authenticating dieses Objekt

at line 133
string getServicename()

Gibt den Service Name zurück

Return Value

string Service Name

at line 144
Authenticating setTimestamp(integer $timestamp = null)

Setzt den Timestamp für den Header

Parameters

integer $timestamp Timestamp

Return Value

Authenticating dieses Objekt

at line 169
integer getTimestamp()

getTimestamp

Gibt den Timestamp zurück Diese Klasse ist für Testfälle gedacht

Return Value

integer Timestamp

at line 184
Request prepare(Request $request)

Den Request manipulieren

Mit dieser Methode werden die Authentifizierungsinformationen in den Request integriert.

Parameters

Request $request Request

Return Value

Request bearbeiteter Request

at line 203
boolean isValid(AuthorizationField $field)

Überprüfen der Autorisation

Parameters

AuthorizationField $field AuthorizationField

Return Value

boolean Ergebnis

at line 212
string getTimeFormat()

Formatiert das Datum für den Request

Return Value

string Formatiertes Datum

at line 224
string getSortQueryString(URI $uri)

Die Parameter werden Alphabetisch sortiert und als CanonicalQueryString zurück gegeben

Parameters

URI $uri Description

Return Value

string CanonicalQueryString

at line 268
string getCanonicalRequest(Request $request)

Berechnen des "CanonicalRequest" für AWS.

Um die Signatur korrekt berechnen zu können muss folgendes Format eingehalten werden

Parameters

Request $request Request

Return Value

string $canonicalRequest berechneter CanonicalRequest

at line 321
string getTreeHash(string $content)

TreeHash

Der Body wird in 1MB grosse Teile zerlegt jedes MB bekommt einen HASH Wert. Dann wird aus 2 HASH Werten wieder ein HASH Wert berechnet bis am Schluss nur noch ein HASH Wert übrig bleibt

Parameters

string $content Content

Return Value

string $hash sha256 Hash

at line 357
string getStringToSign(string $canonicalRequest)

getStringToSign

Erstellt den "StringToSign" für AWS

Beispiel: AWS4-HMAC-SHA256 20130524T000000Z 20130524/us-east-1/s3/aws4_request 7344ae5b7ee6c3e7e6b0fe0640412a37625d1fbfff95c48bbb2dc43964946972

Parameters

string $canonicalRequest berechneten CanonicalRequest

Return Value

string $stringToSign berechneten StringToSign

at line 373
string getSigningKey()

getSigningKey

gibt den SigningKey zurück

Return Value

string SigningKey

at line 393
string getSignature(string $signingKey, string $stringToSign)

getSignature

Gibt die Signature zurück

Parameters

string $signingKey signingKey
string $stringToSign stringToSign

Return Value

string sha256 HASH

at line 414
Request setAuthorizationHeader(Request $request, string $signature)

setAuthorizationHeader

Erweitert den Request Header um die Authorization

Beispiel: Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=host;range;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024

Parameters

Request $request Request
string $signature Signatur

Return Value

Request erweiterte Request