---
product: Chilkat
product_version: 11.7.0
language: phpx
language_label: PHP ActiveX
class: AuthAzureSAS
license: bundle
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/phpAuthAzureSASRef.html
---
# Chilkat AuthAzureSAS — PHP ActiveX — v11.7.0

> Chilkat 11.7.0 · language=phpx · class=AuthAzureSAS
> Other versions: replace `11.7.0` in this URL. Other languages: `https://www.chilkatsoft.com/ai-docs/v/11.7.0/<lang>/classes/AuthAzureSAS.md`.
> Language-wide rules (install, unlock, error model, strings/bytes): `https://www.chilkatsoft.com/ai-docs/v/11.7.0/phpx/guide.md`.

## Purpose

**Create Azure Shared Access Signature tokens for signed Azure Storage requests.**

`Chilkat.AuthAzureSAS` creates Azure Shared Access Signature authentication tokens. It defines the SAS string-to-sign, supplies the Azure Storage account access key used to compute the signature, and controls which parameters are included in the generated SAS token query string. The resulting token can be used with `Chilkat.Rest`, `Chilkat.Http`, or other request-building code that needs time-limited, permission-scoped access to Azure Storage resources.

**SAS token generation**

Generate a signed query-string token that authorizes limited access to an Azure Storage resource.

**String-to-sign control**

Provide the exact Azure SAS string-to-sign required for the storage service and resource being accessed.

**Account key signing**

Use the Azure Storage account access key to compute the signature placed in the generated SAS token.

**Token parameters**

Add signed SAS parameters such as permissions, expiry, resource type, API version, protocol, or IP restrictions.

**Non-token parameters**

Add query parameters that should accompany the request but should not be included as part of the SAS token itself.

**REST integration**

Use the generated SAS query string with Azure Storage requests built using `Chilkat.Rest` or other Chilkat HTTP workflows.

**Common pattern:** Create an `AuthAzureSAS` object, set the Azure Storage `AccessKey`, provide the required `StringToSign`, add SAS token parameters with `SetTokenParam`, add any extra query parameters with `SetNonTokenParam`, then call `GenerateToken`. Use `AuthAzureSAS` when you need a SAS query token; use `Chilkat.AuthAzureStorage` when you need Shared Key authorization headers instead.

For an extended overview, see [AuthAzureSAS Class Overview](https://www.chilkatsoft.com/authazuresas_class_overview.asp).

## Object creation, unlocking and error handling

**Object Creation**

```php
Chilkat v10.0.0 or greater:
$obj = new COM("Chilkat.AuthAzureSAS");
Chilkat v9.5.0.*:
$obj = new COM("Chilkat_9_5_0.AuthAzureSAS");
```

Call `Global.UnlockBundle` once at the start of the program, before using this or any other Chilkat class. Any string unlocks a fully functional 30-day trial; a purchased unlock code is used in production. See `guide.md` for the exact code in PHP ActiveX.

How failure is reported depends on the method's return type and is stated in the note under each method below. In every case the diagnostic text is in the `LastErrorText` property of the object whose method was called.

## Members common to every Chilkat class

Documented once per language in `common-members.md`; listed here so this page is self-contained.

| Property | Signature | Access | Meaning |
|---|---|---|---|
| `DebugLogFilePath` | `string DebugLogFilePath` | read/write | If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. |
| `LastBinaryResult` | `VARIANT LastBinaryResult (read-only)` | read-only | This property is mainly used in SQL Server stored procedures to retrieve binary data from the last method call that returned binary data. |
| `LastErrorHtml` | `string LastErrorHtml (read-only)` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `string LastErrorText (read-only)` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `string LastErrorXml (read-only)` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `bool LastMethodSuccess` | read/write | Indicates the success or failure of the most recent method call: `true` means success, `false` means failure. |
| `LastStringResult` | `string LastStringResult (read-only)` | read-only | In SQL Server stored procedures, this property holds the string return value of the most recent method call that returns a string. |
| `LastStringResultLen` | `int LastStringResultLen (read-only)` | read-only | The length, in characters, of the string contained in the LastStringResult property. |
| `VerboseLogging` | `bool VerboseLogging` | read/write | If set to `true`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `string Version (read-only)` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `AccessKey` | property, read/write | `string AccessKey` |
| `StringToSign` | property, read/write | `string StringToSign` |
| `Clear` | method | `void Clear()` |
| `GenerateToken` | method | `string GenerateToken()` |
| `SetNonTokenParam` | method | `bool SetNonTokenParam(string name, string value)` |
| `SetTokenParam` | method | `bool SetTokenParam(string name, string authParamName, string value)` |

## Properties

### AuthAzureSAS.AccessKey

`Chilkat 11.7.0 · phpx · AuthAzureSAS · AccessKey · property · read/write · since 9.5.0.65`

```php
string AccessKey
```

This is the signing key (access key) that must be kept private. It is a base64 string such as `abdTvCZFFoWUyre6erlNN+IOb9qhXgDsyhrxmZvpmxqFDwpl9oD0X9Fy0hIQa6L5UohznRLmkCtUYySO4Y2eaw==`

### AuthAzureSAS.StringToSign

`Chilkat 11.7.0 · phpx · AuthAzureSAS · StringToSign · property · read/write · since 9.5.0.65`

```php
string StringToSign
```

**Full documentation for this property (same in every language):** [Explaining Azure SAS Tokens](https://www.chilkatsoft.com/ai-docs/v/11.7.0/articles/azure_sas_tokens_for_authentication.md)

Defines the format of the string to sign.

The format is specified as a comma-separated list of names. For example:

```
signedpermissions,signedstart,signedexpiry,canonicalizedresource,signedidentifier,signedIP,signedProtocol,signedversion,rscc,rscd,rsce,rscl,rsct
```

This will result in an actual string-to-sign that is composed of the values for each name separated by newline (LF) chars. For example:

```
signedpermissions + \n +  
signedstart + \n +  
signedexpiry + \n +  
canonicalizedresource + \n +  
signedidentifier + \n +  
signedIP + \n +  
signedProtocol + \n +  
signedversion + \n +  
rscc + \n +  
rscd + \n +  
rsce + \n +  
rscl + \n +  
rsct
```

## Methods

### AuthAzureSAS.Clear

`Chilkat 11.7.0 · phpx · AuthAzureSAS · Clear · method · since 9.5.0.65`

```php
void Clear()
```

Clears all params set by the methods SetNonTokenParam and SetTokenParam.

### AuthAzureSAS.GenerateToken

`Chilkat 11.7.0 · phpx · AuthAzureSAS · GenerateToken · method · since 9.5.0.65`

```php
string GenerateToken()
```

**Full documentation for this method (same in every language):** [Explaining Azure SAS Tokens](https://www.chilkatsoft.com/ai-docs/v/11.7.0/articles/azure_sas_tokens_for_authentication.md)

Generates and returns the SAS token based on the defined `StringToSign` and params.

Returns `null` on failure

### AuthAzureSAS.SetNonTokenParam

`Chilkat 11.7.0 · phpx · AuthAzureSAS · SetNonTokenParam · method · since 9.5.0.65`

```php
bool SetNonTokenParam(string name, string value)
```

Adds a non-token parameter name/value. This is a value that is included in the string to sign, but is NOT included in the token query params.

Returns true for success, false for failure.

### AuthAzureSAS.SetTokenParam

`Chilkat 11.7.0 · phpx · AuthAzureSAS · SetTokenParam · method · since 9.5.0.65`

```php
bool SetTokenParam(string name, string authParamName, string value)
```

Adds a token parameter name/value. This is a value that is included in the string to sign, and is also included in the token query params.

Returns true for success, false for failure.

